《汇编语言》练习题库参考答案讲解.docx
《《汇编语言》练习题库参考答案讲解.docx》由会员分享,可在线阅读,更多相关《《汇编语言》练习题库参考答案讲解.docx(21页珍藏版)》请在冰豆网上搜索。
![《汇编语言》练习题库参考答案讲解.docx](https://file1.bdocx.com/fileroot1/2022-10/13/950b67d9-83fa-4c52-b480-b851f99463b7/950b67d9-83fa-4c52-b480-b851f99463b71.gif)
《汇编语言》练习题库参考答案讲解
华中师范大学网络教育学院
《汇编语言程序设计》练习测试题库参考答案
一、选择题答案:
1.B
2.C
3.B
4.C
5.C
6.C
7.A
8.A
9.D
10.C
11.B
12.A
13.C
14.B
15.A
16.D
17.A
18.A
19.D
20.A
21.A
22.D
23.C
24.B
25.C
26.D
27.B
28.D
29.A
30.A
31.D
32.A
33.D
34.D
35.D
36.D
37.B
38.C
39.A
40.D
41.A
42.C
43.B
44.B
45.C
46.D
47.D
48.D
49.A
50.A
51.D
52.B
53.C
54.A
55.B
56.C
57.A
58.C
59.D
60.C
61.A
62.D
63.C
64.C
65.D
66.A
67.B
68.C
69.B
70.D
71.D
72.A
73.D
74.C
75.D
76.C
77.C
78.D
79.D
80.B
二、判断题答案:
1.×
2.×
3.√
4.√
5.×
6.√
7.×
8.×
9.×
10.×
11.√
12.√
13.×
14.√
15.√
16.√
17.×
18.×
19.√
20.√
21.√
22.√
23.√
24.×
25.√
26.×
27.√
28√
29.√
30.√
31.√
32.√
33.√
34.√
35.√
36.√
37.√
38.√
39.×
40.√
41.×
42.√
三、填空题答案:
1.运行管理程序
2.汇编程序汇编
3.存储器译码分析
4.源地址目标地址存储器IO设备
5.63
6.64KD字节
7.不能64K
8.00
9.55
10.FF
11.55
12.源操作数
13.目的操作数
14.CNT1CL
15.字字节
16.带符号数无符号数
17.CFOF
18.SIDI
19.ALAXDF
20.ALAXSI
21.+-
22.段内转移 段间转移
23.IPCS
24.段地址 偏移地址
25.-128+127
26.条件码
27.末尾
28.不影响
29.内部外部
30.IPCSPSW
31.第一个
32.不能
33.PTR
34.标号
35.":
"
36.PTR
37.地址表达式
38.SEG
39.OFFSET
40.TYPE
41.LENGTH
42.HIGH
43.标号、变量
44.指令、伪操作、宏指令的助记符
45.表达式
46.注释项
47.操作数项
48.顺序线性法
49.算法存储工作
50.1-几没有
51.00H4CH
52.数据工作
53.计数控制法
54.任一
55.256
56.已知未知
57.单重循环
58.满足
59.条件
60.DO-UNTILDO-WHILE
61.IF
62.EXE
63.堆栈,SS
64.;(或分号)
65.AH
66.用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)
67.中断,中断源。
68.SI,DI
69.接口
70.16H、10H和17H
71.ASCII码,属性
72.000DH85B92H
73.85B92H
74.SHLAX,1 SHL,AX,1
75.OF,AF,PF
76.DH=0F0H CF=1
77.+65528__,____-32760___
78.___状态___,__控制___
79._CF__,_OF___
80.下一条指令的首地址
81.___6__,___3__
82.__ES:
[DI]___
83.SI或DI
84. 320EH
85. 100H
四、编程题答案:
1.试编写一个程序段,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07)。
…
MOVAH,01
INT21H
MOVCH,AL
DOWN:
MOVAH,02H
MOVDL,07H
INT21H
DECCH
JNZDOWN
…
2.编写一个完整的汇编语言程序,在屏幕上显示“华中师范大学”的英文名称。
DATASEGMENT
STRDB”HUAZHONGSHIFANDAXUE$”
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
LEADX,STR
MOVAH,09H
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
3.编程求从1开始连续50个奇数之和,并将结果存放在SUM字存储单元中。
DATASEGMENT
SUMDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
MOVCX,50
MOVAX,1
MOVBX,1
LOP:
ADDAX,BX
ADDBX,2
DECCX
JNZLOP
MOVSUM,AX
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
4.已知数组A包含6个互不相等的整数,数组B包含9个互不相等的整数,试编一程序将在A、B两数组中都出现的整数存放于数组C中。
DATASEGMENT
ADB2,……
BDB5,…..
CDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
LEASI,A
LEADI,B
LEABX,C
MOVCH,6
LOP1:
MOVCL,9
LOP:
MOVAH,[SI]
CMP[DI],AH
JNZL
MOV[BX],AH
INCBX
L:
INCDI
DECCL
JNZLOP
INCSI
LEADI.B
DECCH
JNZLOP1
MOVAH.4CH
INT21H
CODEENDS
ENDBEGIN
5.试编写从内存BUF单元开始的256个字单元的清零程序。
DATASEGMENT
BUFDW21,22,……..
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
LEABX,BUF
MOVCX,0FFH
LOP:
MOV[BX],0
ADDBX,2
DECCX
JNZLOP
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
6.设在变量ADR为起始地址的字节存储单元中存放一组有符号数据,编写程序分别统计:
(1)正数的个数;
(2)负数的个数;(3)0的个数。
DATASEGMENT
ADRBD9,-1,3,-5,4,….
SUMDB?
?
?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS.AX
LEABX,ADR
LOP:
MOVAH,[BX]
CMPAH,0
JZL1
JLL2
INCCH
JMPDOWN
L1:
INCCL
JMPDOWN
L2:
INCDL
DOWN:
DECDL
JNZLOP
MOVSUM,CL
MOVSUM+1,CH
MOVSUM+2,DL
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
7.在DATA1首址区有100个字节数据,试编写一个完整程序,将其中的奇、偶数分开。
统计奇、偶数的个数,并将奇数送DATA2首址区,偶数送DATA3首址区。
DATASEGMENT
DATA1DB12,3,4,……..
DATA2DB100DUP(?
)
DATA3DB100DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
BEGIN:
MOVAX,DATA
MOVDS,AX
LEABX,DATA1
LEASI,DATA2
LEADI,DATA3
MOVCH,0
MOVCL,0
MOVDX,100
LOP:
MOVAH,[BX]
TESTAH,01H
JNZL
MOV[DI],AH
INCDI
INCCL
JMPL1
L:
MOV[SI],AH
INCSI
INCCH
L1:
INCBX
DECDX
JNZLOP
MOVAH,4CH
INT21H
CODEENDS
ENDBEGIN
8.编写一程序段,将AL中的第7位和第0位,第6位和第1位,第5位和第2位,第4位和第3位互换。
…
MOVCX,8
MOVAH,0
K1:
SHRAL,1
RCLAH,1
DECCX
JNZK1
MOVAL,AH
…
9.编制一个程序求数组变量ARRAY中有多少个二进制位为1的程序。
DATASEGMENT
ARRAYDW-l,7FFFH,-80000H.+9,-56ABH
DW0B12H,-2,O,6578H,30EFH
COUNTEQU($-ARRAY)/2
NUMBITDB2DUP(?
)
TEMDW?
DATAENDS
STACKSEGMENT
STAPNDB1000DUP(?
)
SYACKENDS
CODESEGMENT
ASSUMECS,CODE,DS:
DATA,SS:
STACK
BEGINPROCFAR
PUSHDS
SUBAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVTEM,SP
LEABX,ARRAY
MOVCX,COUNT
GOON:
MOVAX,LBX]
AGAIN:
SHLAX,1
JNCNEXT
ADDWORDPTRNUMBIT+1
ADCNUMBIT+2,0
NEXT:
ANDAX,AX
JNZAGAlN