汇编语言习题册有答案已经收编Word文档格式.docx
- 文档编号:17226192
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:46
- 大小:34.74KB
汇编语言习题册有答案已经收编Word文档格式.docx
《汇编语言习题册有答案已经收编Word文档格式.docx》由会员分享,可在线阅读,更多相关《汇编语言习题册有答案已经收编Word文档格式.docx(46页珍藏版)》请在冰豆网上搜索。
寻址方式:
__________
MOVAX,ARRAY2;
寻址地址:
14.下面两个语句的区别在于_______、________。
X1EQU1000H
X2=1000H
15.指令“ANDAX,STR1ANDSTR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是______、_______。
16.条件转移指令的目标地址应在本条件转移指令的下一条指令地址的_____个字节范围内。
17.指令LOOPZ/LOOPE是结果_____或____发生转移的指令。
而指令LOOPNZ/LOOPNE则是结果或发生转移的指令。
18.调用指令CALL可分为________、_________、________和________等四种调用。
19.换码指令XLAT完成的操作是______。
它经常用于把一种代码转换为另一种代码。
如果执行此操作,应首先建立一个字节表格,但表格的长度不能超过_______。
20.下面两条指令执行后,(AH)=_______。
(AL)=________:
MOVAH,10H
MOVAL,10
21.在汇编语言中,一个过程有NEAR和FAR两种属性。
NEAR属性表明主程序和子程序______,FAR属性表示主程序和子程序________。
22.如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,执行指令“MOVAX,TABLE”后,(AX)=________;
而执行指令“LEAAX,TABLE”后,则(AX)=_______。
23.串处理指令规定源寄存器使用______,源串在______段中;
目的寄存器使用_____,目的串必须在______段中。
24.近过程(NEAR)的RET指令把当前栈顶的一个字弹出到____;
远过程(FAR)的RET指令弹出一个字到_____后又弹出一个字到_____;
IRET指令是______指令,它从堆栈顺序弹出三个字分别送到______、_______和_______中。
25.______过程定义结束伪指令,与______配套使用。
______或是段定义结束伪指令,与______配套使用;
或是结构定义结束伪指令,与______配套使用。
_____是宏定义结束伪指令,与______配套使用。
_______是一个宏模块汇编结束伪指令。
26.对于指令:
MOVBX,((PORT_VALLT5)AND20)OR((PORT_VALGE5)AND30)
当PORT_VAL<
5时,汇编结果为:
MOVBX,______;
否则,汇编结果为:
MOVBX,______。
27.宏定义中允许使用宏调用,其限制条件是_______。
28.宏的使用要经过三个步骤为__________、__________和___________。
29.从外设发出中断请求到CPU响应中断,有两个控制条件是起决定作用的,它们是______和_______。
这两个条件分别由_______和________控制。
30.一个有16个字的数据区,它的起始地址为70A0:
DDF6,那么该数据区的最后一个字单元的物理地址为_______H。
31.COM文件只有一个段并限制在64KB之内,COM程序的堆栈是由_____自动产生的,数据定义在______段内。
COM程序总是从偏移地址________开始执行。
32.子程序又称为________,由伪操作_________定义,由_________结束,属性可以是________或_________。
33.在标准子程序中,它所使用的工作寄存器一般要存入_____保存,在返回调用程序之前,再_________它们的内容。
34.填入正确的过程属性。
CODE1SEGMENT
………
SUBPROC________
RET
SUBENDP
CALLSUB
CODE1ENDS
……
CODE2SEGMENT
CODE2ENDS
35.宏定义体包括实现子功能的指令和伪操作,如果宏定义体中有一个或多个标号,则必须用__________伪操作列出所有的标号。
36.令(AL)=98H,(BL)=12H,则执行指令MULBL后,(AX)=_______,(OF)=_____,(CF)=_______;
而执行指令MULBL后,它的结果是(AX)=_________,(OF)=_______,(CF)=_______。
37.执行下列指令序列后,完成的功能是将(DX,AX)的值__________
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
MOVBL,DL
SHRDX,CL
ORAH,BL
或者采用下面的方法,将(DX,AX)向右移四位。
MOVCX,04
NEXT:
SHRDX,1
RCRAX,1
LOOPNEXT
38.对于下面的数据定义:
A1DW20DUP(?
)
A2DW20DUP(?
A3DW‘987654321’
…………
MOVAX,LENGTHA1
MOVBX,LENGTHA2
MOVCX,LENGTHA3
各条指令执行后,相应寄存器的内容为:
(AX)=_______,(BX)=_______,(CX)=_______。
39.对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容。
TABLE1DB?
TABLE2DW20DUP(?
TABLE3DB‘ABCD’
MOVAX,TYPETABLE1(AX)=_________
MOVBX,TYPETABLE2(BX)=_________
MOVCX,LENGTHTABLE2(CX)=_________
MOVDX,SIZETABLE2(DX)=_________
MOVSI,LENGTHTABLE3(SI)=_________
40.某程序的数据段定义如下,请填写完整。
DATASEGMENT
TABDB‘MICROSOFT’
DB‘MS-DOS6.22’
DW1234
DB‘IBMPS/2’
TABLENEQU___________;
数据长度
DATAENDS
41.程序段如下:
ORG2000H
TWO=2
NUMDB3,4
WORDSDW1011H,2022H
CHAR1DB2DUP(?
TENEQU10
CHAR2DB‘5’
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
START:
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,TWO
MOVWORK,AL
TWO=TWO-1
ADDAL,TWO
MOVWORK+1,AL
MAINENDP
CODEENDS
ENDSTART
程序执行后,内存单元DS:
2000H—DS:
200AH的值分别是_____、______、______、______、______、_______、_______、________、________、_______、_______,TWO的值为_______。
42.下列程序段运行后,A单元的内容为_______。
ADW0
BDW0
CDW230,20,54
STARTPROCFAR
PUSHDS
MOVBX,OFFSETC
MOVAX,[BX]
MOVB,AX
MOVAX,2[BX]
ADDAX,B
MOVA,AX
STARTENDP
43.分析以下程序段:
ADDAX,BX
JNOL1
JNCL2
SUBAX,BX
JNCL3
JNOL4
JMPSHORTL5
如果AX和BX的内容给定如下:
AXBX
①147B80DC
②B56854B7
③42C8608D
④D0239FD0
⑤94B7B568
该程序执行后,程序转向______、______、_______、_______、_______。
44.设(SS)=0FFA0H,(SP)=00B0H,(AX)=8057H,(BX)=0F79H,执行指令“PUSHAX”后,(SP)=______;
再执行指令
PUSHBX
POPAX
后,(SP)=______,(AX)=______,(BX)=______。
45.阅读下面的程序段。
堆栈段分配了_____个ABCD结构的空间,堆栈长度为____个字。
如果程序中没有再设置SS、SP,那么经过汇编、连接后,(SP)=______。
ABCDSTRUC
DLD_BPDW?
RET_IPDW?
RET_CSDW?
PAR_2DW?
PAR_1DW?
ABCDENDS
S_SEGSEGMENTSTACK
ABCD10DUP(<
>
S_SEGENDS
46.阅读下列程序:
DS_SEGSEGMENT
COUNTDB4
BLK1DB96H,74H,32H,16H
BLK2DB65H,94H,87H,29H
BLK3DB4DUP(?
DS_SEGENDS
CS_SEGSEGMENT
CS_SEG,DS:
DS_SEG
SUBAX,AX
MOVAX,DS_SEG
MOVSI,OFFSETBLK1
MOVDI,OFFSETBLK2
MOVBX,OFFSETBLK3
MOVCL,[COUNT]
MOVCH,0
CLC
NEXT:
MOVAL,[SI]
INCSI
ADSAL,[DI]
INCDI
DAA
MOV[BX],AL
INCBX
CS_SEGENDS
该程序执行后,请填入BLK3的偏移地址和其中各字节单元的内容。
①________
______
②________BLK3
③________
④________
以及⑤________
⑥________
47.在下列程序的括号中分别填入如下指令:
(1)LOOPL20
(2)LOOPEL20
(3)LOOPNEL20
TITLEEXLOOP.COM
CODESEGMENT
CODE,SS:
CODE
ORG100H
BEGIN:
MOVAX,01
MOVBX,02
MOVDX,03
L20:
INCAX
ADDBX,AX
()
CODEENDS
ENDBEGIN
在上述三种情况下,程序执行完后,(AX)=_______、(BX)=_______、(CX)=_______、(DX)=________。
48.已知下列程序段:
DB1DB12H,34H,0,56H
DW1DW78H,90H,0AB46H,1234H
ADR1DWDB1
ADR2DWDW1
BUFDB5DUP(0)
XORCX,CX
MOVCL,3
ADDADR1,CX
SUBADR2,CX
MOVBX,ADR1
MOVDI,BX
MOVSI,ADR2
MOVAL,DB1[BX]
MOVBUF[DI],AL
MOVAX,DW1[BX][SI]
MOVWORDPTRBUF,AX
MAINENDP
程序执行后,填入BUF的偏移地址和其中各字节单元的内容。
偏移地址内容
⑵____________
⑷____________
⑹____________
⑻____________
⑽____________
⑴__________
⑶__________
⑸__________
⑺__________
⑼__________
49.在以DS:
5OC1为起始地址的表中存有字符串,它以NULL(00H)作串结束符,在DS:
CHAR中存有关键字。
从上述表中查找第一个此关键字的程序段如下。
若找到此关键字,寄存器CX中存放该关键字在ES段中的位移量;
若串中无此关键字,CX返回-1值。
请将该程序段的空格补充完整。
MOVDI,OFFSETSOC1
MOVCX,0
CPO:
CMPES:
__①____,00H
JNECOUNT
MOVBX,CX
MOVDI,OFFSETCHAR
MOVAL,[DI]
CLD
____②___SCASB
JZFOUND
MOVCX,___③____
FOUND:
____④____DI
MOVCX,DI
COUNT:
INCDI
INCCX
JMPCPO
50.(AL)=9AH,(BL)=0BCH,当分别进行下列指令运算后,请写出标志位的内容:
⑴ADDAL,BL;
ZF=_______,PF=_______,CF=_______,SF=_______,OF=______。
⑵SUBAL,BL;
⑶ANDAL,BL;
⑷ORAL,BL;
⑸XORAL,BL;
51.假设X和X+2单元的内容为双精度P,Y和Y+2单元的内容为双精度数Q(X,Y为低位数),下列程序段使2P>
Q时,(AX)=1;
2P≤Q时,(AX)=2,请把程序填写完整。
MOVDX,X+2
MOVAX,X
ADDAX,X
ADCDX,X+2
CMPDX,Y+2
___①____L2
___②____L1
CMPAX,Y
___③____L2
L1:
MOVAX,1
JMPEXIT
L2:
MOVAX,2
EXIT:
INT20H
52.阅读下面的程序。
在__①__的情况下,本段程序的执行结果是(AX)=0;
在__②__的情况下,其结果为(AH)=0FFH。
INAL,20H
TESTAL,80H
JZA
MOVAH,0
JMPB
A:
MOVAH,OFFH
B:
HLT
53.已知程序如下:
DATASEGMENT(假定DS=00BFH)
ORG1000H
BLOCKDB48H,8DH
RESULDB?
STACKSEGMENTPARASTACK‘STACK’
DB64DUP(?
STACKENDS
STACK,DS:
STARTPROC
0000HBEGIN:
MOVAX,DATA
0003HMOVDS,AX
0005HMOVSP,4000H
0008HLEABX,BLOCK
000CHMOVAL,[BX]
000EHSUBAL,[BX+1]
0011HPUSHAX
0012HPUSHF
0013HCALLSUB1
0016HPOPF
0017HPOPAX
0018HMOV[BX+2],AL
001BHHLT
001CHSUB1PRO
001CHADDAL,AL
001EHRET
SUB1ENDP
ENDBEGIN
程序运行后,请输入数据段、堆栈段的数据存放情况:
(1)数据段数据存放情况:
____________
①_____________
②_____________
③_____________
(2)堆栈段数据存放情况:
①__________
②__________
③__________
④__________
⑤__________
⑥__________
⑦__________
(3)最后标志位为________。
54.下列程序段是比较AX,BX,CX中带符号数的大小,将最大的数放在AX中。
请将程序填充完整。
CMPAX,BX
___①____NEXT
XCHGAX,BX
___②____AX,CX
JGEOUT
___③____AX,CX
OUT:
…………
55.以下程序实现的功能,结果存放在中。
STRAT:
INAL,20H
MOVBL,AL
INTAL,30H
MOVCL,AL
MOVAX,0
ADDAL,BL
ADCAH,0
DECCL
JNZNEXT
56.下面程序是查找STRING中是否有“A”这个字符,如果有则转向YES去执行;
没有则转向NO去执行。
请将程序填充完整:
MOVCX,20;
假设STRING的长度为20
MOVBX,-1
MOVAL,‘A’
___①____BX
CMPAL,STRING[BX]
____②___NEXT
JNZ__③_____
YE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 习题 答案 已经 收编