一、选择题
1、假设外部设备的状态字已经读入AL寄存器,其中最低位为\"0\表示外部设备\"忙\为了
判断外部设备是否\"忙\"而又不破坏其它状态位,应选用下列( )组指令。 A. RCR AL, 01H JZ Label B. CMP AL,00H JZ Label C.AND AL,01H JZ Label D.TEST AL,01H JZ Label 2、若要使寄存器AL中的高4位不变,低4位变0,使用指令( )。 A.AND AL,0F0H B.OR AL,0F0H C.AND AL,0FH D.OR AL,0FH 3、条件转移指令JE/JZ成立的条件是( )。
A.CF=0 B.CF=1 C.ZF=0 D.ZF=1
4、假设VAR为变量,指令MOV BX, OFFSET VAR 中源操作数的寻址方式是( )。 A.直接寻址 B. 间接寻址 C.立即寻址 D.存储器寻址
5、若(AL)=10101101B,为了使其内容变为01011101B,下列( )指令执行一次即可完成此
操作。
A.NOT指令 B.OR指令 C.AND指令 D.XOR指令
6、若定义DAT DW 'A', 则DAT和DAT+1两个相邻的内存单元中存放的数据依次是( )。 A.00H、41H B.41H、00H C.00H、61H D.61H、00H 7、完成将累加器AX清零,不正确的指令是( )。
A.OR AX,0000H B.XOR AX,AX C.SUB AX,AX D.AND AX,0000H
8、若(AX)=5A5AH,为了使其内容变为0A0AH,下列( )指令执行一次即可完成操作。 A. NOT指令 B. OR指令 C. AND指令 D. XOR指令 9、若定义 F1 DW 1234H
F2 DB 23H,56H,78H 则执行指令 MOV AL,BYTE PTR F1 MOV BX,WORD PTR F2
后,AL、BX寄存器中分别为( )。
A. 12H、2356H B.34H、5623H C. 34H、2356H D. 12H、5623H 10、下列8086的指令中格式错误的条数是( )。
MOV CS, AX LEA BX, AX OUT DX,AL IN AL,80H
A. 1 B. 2 C. 3 D. 4 11、下列指令中,隐含使用AL寄存器的指令有( )条。 NOP; XLAT; DAA; MOVSB; MUL CL
A. 1 B. 2 C. 3 D. 4 12、下列指令中能实现测试AL中最高位是否为1的指令数目是( )。 CMP AL,80H TEST AL,80H ROL AL,1 RCL AL,1
A. 1 B. 2 C. 3 D. 4 13、设(SP)=1200H、(CS)=5678H、(IP)=1234H,则执行段间调用指令后,堆栈内11FEH单元的内容为( )。
A. 12H B. 34H C. 56H D. 78H
14、在8086指令系统中,IN AX,DX 和MOV AX,DX指令的源操作数的寻址方式依次是( )。 A.寄存器直接寻址、寄存器直接寻址 B. 寄存器间接寻址、寄存器间接寻址 C. 寄存器直接寻址、寄存器间接寻址 D. 寄存器间接寻址、寄存器直接寻址 15、完成二进制数11100001和00001111的逻辑“异或”运算的正确结果是( )。 A.11101110 B.01111111 C.00000001 D.00001111 16、下列指令中正确的是( )。
A. MOV AL,6100H B. MOV ES,4000H C.MOV BX,3200H D. SHR AL,3
17、下列( )条指令不合法。
A. RCR DX, CL B.IN AX, 0278H C. CMPSB D. RET 4 18、下列( )指令影响堆栈内容。 A.MOV B.JMP C.RET D.STC 20、下列寄存器中不能作寄存器间址寻址的是( )。
A. AX B. BX C. DI D. BP 21、在指令MOV AL,[BX]中,源操作数寻址方式是( )。
A.立即寻址 B.寄存器间接寻址 C.变址寻址 D.寄存器直接寻址 22、若有BUF DW 1,2,3,4,则可将数据02H取到AL寄存器中的指令是( )。 A. MOV AL, BYTE PTR [BUF+2] B. MOV AL, BYTE PTR [BUF+1] C.MOV AL, BYTE PTR [BUF+3] D.MOV AL, BYTE BUF [2] 23、若有BUF DB 5,6,7,8,则可将数据08H取到AL寄存器中的指令是( )。
A.MOV AL, BYTE PTR[BUF+1] B.MOV AL, BYTE PTR[BUF+2] C.MOV AL, BYTE PTR[BUF+3] D.MOV AL, BYTE BUF[8] 24、在下面的中断中,属于软件中断方式的是( )。
A.INTO B.INT n C.NMI D.INTR 25、指令LOOPZ的循环条件是( )。
A. CX≠0,并且ZF=1 B. CX≠0,或ZF=0 C. CX≠0,并且ZF=0 D. CX≠0,或ZF=1 26、下列串操作指令中,一般不加重复前缀(如REP)的指令是( )。 A.STOSW B.CMPSW C.LODSW D.SCASW 27、指令MOV AL ,ES:[BX][DI] 中源操作数寻址方式是( )。
A.隐含寻址 B.立即寻址 C.基址变址寻址 D.相对寻址 28、下列指令中,正确的是( )。
A.MOV ES ,1234 B. ADD 1234 ,AX C.MOV AX ,BX D.MOV DS , ES
29、用REPNE CMPSB指令作两个字符串比较时,如果CX≠0比较结束,其原因是( )。 A.字符串大小不同 B.两个字符不等 C.两个字符串长度不等 D.两个字符相等 30、指令语句MOV AX, 2 GT 5中源操作数的寻址方式是( )。
A.直接寻址 B.立即寻址 C.变址寻址 D.寄存器寻址 31、使状态标志位CF清零的错误指令是( )。
A.OR AX,AX B.STC C.SUB AX,AX D.CLC
32、AND DX,NUM AND 0FFABH指令中出现两个AND,正确的解释是( )。
A.均是逻辑运算符 B.均是指令助记符 C.前者是指令助记符,后者是逻辑运算符
D.两个AND操作符均在程序执行时得到运算结果
33、指令MOV AL,[DI+10] 中源操作数的有效地址 EA=( )。 A. DS×10+DI+10 B. DS×10H+DI+10 C. ES×16H+DI+10 D. SS×10H+DI+10 34、指令MOV AL,[BX] 中,源操作数的寻址方式是( )。
A.相对寻址 B.直接寻址 C.立即寻址 D. 寄存器间接寻址 35、下列指令正确的是( )。
A.MOV AX,BL B.MOV 100,CX C.MOV DS,5600H D.MOV BX,[DI] 36、(BX)=1000H,(DS) =2000 H,(21000H) =12H,(21001H) =34H,执行LEA SI,[BX] 指令后,SI寄存器中的内容是( )。
A. 1234H B. 3412H C. 1000H D. 0010H 37、假设V1和V2是用DW定义的变量,下列指令中正确的是( )。 A.MOV V1, 20H B. MOV AL,V1 C. MOV V1,V2 D. MOV 2000H,V2 38、CLD ;MOVSW;执行以上两条指令后SI/DI的变化是( )。 A.加2 B. 减2 C. 加1 D. 减1 39、指令PUSH AX正确地执行步骤是( )。 A.(1)SP←SP-1,(SP)←AL B.(1)SP←SP-1,(SP)←AH (2)SP←SP-1,(SP)←AH (2)SP←SP-1,(SP)←AL C.(1)SP←SP+1,(SP)←AL D.(1)SP←SP+1,(SP)←AH (2)SP←SP+1,(SP)←AH (2)SP←SP+1,(SP)←AL 40、在8086基址变址寻址指令中,允许使用的寄存器有( )。 A.AX,BX,CX,DX B. SP,IP
C.CS,DS,SS,ES D. BX,BP,SI,DI
41、在汇编过程中不产生指令代码,只用来指示汇编程序如何汇编的指令是( )。 A.汇编指令 B.伪指令 C.机器指令 D.宏指令 42、下面的数据交换指令中,错误的操作是( )。
A. XCHG AX,DI B. XCHG BX,[SI+DAT] C. XCHG CX,DS D. XCHG BUF,DX 43、8086CPU向I/O端口地址30H写字节数据应使用指令( )。
A. IN 30H,AL B. IN AL,30H C. OUT AL,30H D. OUT 30H,AL
二、填空题
1、执行一条 指令就能够完成将AX的高字节置1,而低字节不变的功能。
2、8086CPU访问I/O端口时,应使用专门的指令 和 。 3、如果AH=02H,DL=42H,执行INT 21H指令后,显示器的当前光标位置上显示大写字母 。
4、指令 MOV BX,[BP] 中的目的操作数的寻址方式是 。5、
6、汇编程序一般总有几个段组成,每个段都以 语句开始,以ENDS语句结束。任何一个源程序至少必须有一个 段和一条作为源程序文件结束的伪指令 。 7、8086系统中,中断返回指令 要写在中断服务程序的 。
8、指令MOV AL,[SI+10]中源操作数的有效地址 EA= (用
公式表示)。
9、把SEG运算符加在一个标号或变量前,求出的是该标号或变量的 ,把
运算符加在一个标号或变量前,则可求出该标号或变量的段内偏移地址。
10、串寻址中使用了一种隐含的变址寄存器寻址方式,即分别使 和 指
向源串和目的串,从而实现对字符串的操作。
11、输入指令IN的源操作数在 中,目的操作数放在 寄存器中。 12、定义过程的开始用伪指令 ,过程的结束用伪指令 。
13、串寻址方式仅在8086的 指令中使用。指令的操作数大多在内存单元中,且
规定源操作数的逻辑地址为 ,目的操作数的逻辑地址为 。 14、指令由 字段和 字段组成,其中 字段是不能缺
省的。 15、指令中用于说明操作数所在地址的方法,称为 。指令MOV AL,ES:[1000H]
中源操作数是 寻址方式,这里的ES:称为 。
16、使用XLAT换码指令前,要求 指向表的首地址, 中存放待查项的序
号,用来表示表中某一项与表首地址间的距离。
17、PC机中,BIOS程序放在 中,要执行的应用程序放在 中。 18、软件中断的指令符为 ,中断返回指令符是 。
19、计算机中,完成某种操作的命令称为 ,完成某一具体任务所需指令的集合称为 。
20、子程序调用指令应当写在 程序中,子程序返回指令应写在 程序
中。
21、通常而言,指令系统寻址方式就是指令中用于说明 所在地址的方法,寻
址方式的多少是衡量 功能的指标。
22、无符号数加法进位标志位是 ,带符号数加法溢出标志位是 ,辅助进
位标志位是 ,运算结果为零时的标志位是 。
23、BX、BP被称为基址寄存器,对它们寻址称为 ;SI、DI被称为 寄
存器,对它们寻址称为变址寻址。
24、增量指令INC的执行不影响 标志位。 25、把AX寄存器的最高3位清0,其余位不变的指令是 ;使BH寄存器的D3、
D5、D7位置1,其余位保留的指令是 。
26、堆栈操作遵循 原则,指令队列遵循 原则。 27、CPU寻址I/O端口有 编址和 编址两种方式。
28、如果要对一个字节或一个字的数求反,可以用 指令;要对寄存器或存储单
元中的指定位求反则可运用 指令。
29、把 运算符加在一个标号或变量前,求出的是该标号或变量的段地址,把
OFFSET运算符加在一个标号或变量前,则可求出该标号或变量的
三、简答题
1、设寄存器(DS)=3000H,(SS)=2100H,(ES)=1200H,(SI)=1000H,(BX)=0100H, (BP)=0010H,数据段中变量MASK的偏移地址值为50H。指出下列指令中源操作数的寻址方式;对于存储器操作数,写出其物理地址。
①MOV CX,ES:[BX] ②MOV AX,MASK[BP] ③MOV AX,BX
④MOV DX,ES:[BX][SI]
2、写出实现下述功能的指令。
(1) 将AL的第4位、第5位清零。 (2) 将AL的第4位、第5位置1。 (3) 将AL的第4位、第5位取反。
(4) 将AL的高4位移到低4位,高4位清零。 3、设有关寄存器及存储器单元的内容如下:
DS=3000H, BX=0200H, SI=0002H, 30200H=24H, 30202H=0ACH,30203H=0F0H, 31300H=H, 31301H=98H,31302H=6DH。 下列各条指令执行完后,AL或AX寄存器
的内容各是什么?
MOV AX,1300H ; AX= MOV AL,BL ; AL= MOV AX,[1300H] ; AX= MOV AL,1100H[BX][SI] ; AL= 4、设堆栈指针SP的初值为1000H,(AX)=2000H,(BX)=3000H,试问:执行指令 PUSH AX ; (SP)= PUSH BX ; (BX)= POP AX ; (SP)= ,(AX)= 5、执行下列程序段: MOV AX,99D8H MOV BX,9847H SUB AX,BX JNC L3 L4:…
问:程序段执行后,转向哪里?为什么?
6、阅读程序,并指出程序执行后,相应寄存器的内容是多少?
STR1 DW ‘AB’
STR2 DB 16 DUP(?) CNT EQU $ - STR1
MOV CX , CNT ;(CX)= MOV AX , STR1 ;(AH)= (AL)=
7、已知DA1变量单元中存放数据1,将下面程序段执行后的结果填入空格。 DA1 DB 1
:
MOV AL,DA1 MOV AH,0
MOV CX,5 MOX BX,AX LOP:PUSH BX
DEC BX MOV BX,AX LOOP LOP 问:程序执行后,堆栈中压了 个数,压入的最后一个数值是 ; 此时,BX= 。 8、已知(DS)=1234H,(SI)=0124H,(124H)=30ABH,(12484H)=4H
执行: LEA SI,[SI]
MOV AX,[SI]
MOV [SI+22H],1200H LDS SI,[SI+20H] ADD AX,[SI] 执行后:(DS)= ;(SI)= ; (AX)= 。 9、设初值AX=62H,CX=0001H, 回答问题。 AND AX,AX
JZ DONE SHL CX,1 ROR AX,CL DONE:OR AX,1234H
问:程序运行后,CX= ,AX= 。 10、设变量VAR含有下列数据,在执行下列程序后,回答问题。 VAR DB -18,32,0,5,-51,19,‘$’ ……
MOV BX,OFFSET VAR MOV AL,[BX] MOV CX,5 NEXT:INC BX
ADD AL,[BX] LOOP NEXT 问:(1)上述程序完成什么功能?
(2)程序运行后,AL= ,CX= 。 11、分析下列程序段,并回答问题。 BUF DB 0AH …
MOV AL,BUF CALL HEC … HEC PROC NEAR CMP AL,0AH JC K1 ADD AL,7 K1:ADD AL,30H MOV DL,AL MOV AH,2 INT 21H RET
HEC ENDP 问:(1)该程序段是什么结构? (2)子程序完成什么功能?
(3)屏幕上显示的信息是什么? 12、读下列程序段,并回答问题。
CLD
MOV AX,3000H MOV ES,AX MOV DI,0200H MOV CX,200 MOV AL,00H REP STOSB
问:该数据缓冲区的长度为 个字节,缓冲区首址为 ; 程序段实现的功能是: 。 13、分析下列程序段,并回答问题。
SUB1 PROC FAR
TEST AL,80H JZ PLUS
TEST BL,80H JNZ EXIT JMP XCHAG PLUS:TEST BL,80H JZ EXIT XCHAG:XCHG AL,BL
EXIT:RET SUB1 ENDP
子程序实现的功能是: ;
若调用前AL=9AH,BL=77H,则在返回时,AL= ,BL= 。 14、读下列程序段,并回答问题。 MOV SI,OFFSET BUF MOV CX,100 CLD
NEXT:LODSB
CMP AL,39H JE FOUND LOOP NEXT JMP NOTFOUND FOUND: … 问:(1)该程序完成的功能是什么?
(2)若程序转到FOUND处执行,此时(SI)代表什么含义? (3)若程序转到NOTFOUND处执行,又说明了什么?
15、分析下列程序,并回答问题。 VAR DB 18,32,0,5,51,19 :
MOV BX,OFFSET VAR MOV AL,[BX] MOV CX,5 NEXT:INC BX
ADD AL,[BX]
LOOP NEXT HLT
问:BX寄存器的作用是: ; 程序实现的功能为: ; 程序运行后,(AL)= 。 16、阅读如下程序段,回答提出的问题。 MOV AX,3456
XCHG AX,BX MOV AX,3456
SUB AX,BX JE DONE KK: ADD AX,BX ... DONE:
该程序段执行完JE DONE语句后,AX=_______,ZF=_______;
能否执行到语句标号KK处? ;因为 。 17、读下列程序段,并回答问题。 CLD
MOV AX,3000H MOV ES, AX MOV DI,0200H MOV CX,100 MOV AL,0FFH
REP STOSB 程序执行前:(DI)代表 ; (CX)代表 ;
程序实现的功能是: 。 18、读下列程序段,并回答问题。 MOV CL,4 MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL OR DL,30H 程序执行后:(AL)= ;(DL)= ;
程序实现 的功能。
19、下面程序段完成将段地址为1000H,偏移地址为100开始的连续100个字存储区域清零的操作。请在空白处填上相应的语句,使程序能按预定的设计要求正常运行。 MOV AX,1000H MOV DS,AX
CLD
HLT
20、下面的指令序列能代替重复串操作指令REP MOVSB完成同样功能。请在空白处填上相应的语句或标号,使程序能按预定的设计要求正常运行。 LEA SI,AREA1
MOV DI, AREA2 MOV CX,N
AGA:MOV AL,DS:[SI]
INC SI INC DI
JNZ RET
21、下列程序段是用串操作指令查找BUFS中是否有字符“$”。若有,将AH置1,否则将AH置0。假设ES和DS已被设置。请在空白处填上相应的语句,使程序能按预定的设计要求正常运行。
BUFS DW ‘A3’,‘B4’,‘GE’,‘$5’ CONT EQU :
MOV DI, BUFS MOV CX,CONT CLD
MOV AL,‘$’ JZ K1 MOV AH,0
K1: MOV AH,1 K2: :
22、读下列程序,并在空白处填入合适指令,使该程序段能够完成将数据段中偏移地址为
2000H到2063H的 100个字节数据复制到数据段中偏移地址为1000H至1063H单元中的操作。 MOV AX,DATA
MOV SI,2000H MOV DI,1000H MOV CX,100
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务