9299.net
大学生考试网 让学习变简单
当前位置:首页 >> 数学 >>

大学微机原理第三章习题

大学微机原理第三章习题

8086/8088 的寻址方式和指令系统 习题 一.单项选择题 1.设 BX=2000H,SI=3000H,指令 MOV AX,[BX+SI+8]的源操作有效地址为( ) . A.5000H B.5008H C.23008H D.32008H 2.设 DS=1000H,ES=2000H,BX=3000H,指令 ADD AL,[BX]的源操作数的物理 址为( ) . A.13000H B.23000H C.33000H D. 3000H 3.设 DS=2000H,ES=3000H,SI=200H,指令 MOV ES:[SI],AL 的目的操作数的物理地址为( A.20200H B.30200H C.50200H D.200H 4.指令 MOV MEM[BX],AX 中的 MEM 是( ) . A.原码 B.反码 C.补码 D.移码 5.用来作为寄存器间接寻址的寄存器有( )个. A.8 B.6 C.5 D.4 6.指令 MOV [BX+SI],AL 中的目的操作数使用( )段寄存器. A.CS B.DS C.SS D.ES 7.指令 MOV BX,[BP+5]中的源操作数使用( )段寄存器. A.CS B.DS C.SS D.ES 8.段内间接寻址只改变( )中的内容. A.CS B.IP C.CS 和 IP D.PSW 9.段间间接寻址只改变( )中的内容. A.CS B.IP C.CS 和 IP D.PSW 10.下述指令中不改变 PSW 的指令是( ) . A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响 CF 的指令是( ) . A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码 9CH 和 7AH 相加运算后,会产生( ) . A.无溢出且无进位 B.无溢出但有进位 C.有溢出且有进位 D.有溢出但无进位 13.指令 JMP WORD PTR [BX]属于( )寻址. A.段内直接 B.段内间接 C.段间直接 D.段间间接 14.指令 MOV AX,[BX+SI+8]的源操作数属于( )寻址. A.直接 B.寄存器相对 C.基址变址 D. 相对基址变址 15.指令( )不改变 CF 的内容. A.DEC AL B.ADD AX,CX C.SUB [BX],CL D.SBB AL,DL 16.十进制数字 74 所对应的压缩型 BCD 码的形式是( ) . A.74 B.74H C.4AH D.4A 17.十进制数字 85 所对应的非压缩型 BCD 码的形式是( ) . A.0085 B.0085H C.0805 D.0805H 18.设 AL=67H,执行"CMP AL,76H"后,AL=( ) . A.76H B.0DFH C.67H D.00 19.设 AL=65H,BL=29H,执行下列指令后,AL=( ) . ADD AL,BL DAA

) .

A.8EH B.94 C.94H D.8E 20.压栈操作是( )位数的操作. A.8 B.16 C.32 D.任意 21.执行 IMUL 指令时,如果乘积的高位部分不是低位部分的符号扩展,则( ) . A.OF=0,CF=0 B.OF=0,CF=1 C.OF=1,CF=0 D.OF=1,CF=1 22.设 AX=3762H,CL=5,执行"SHR AX,CL"后,AX=( ) . A.0376H B.01BBH C.01BB D.0376 23.若要在 BUF 缓冲区中寻找与 AL 中不相等的数据,应使用( )SCASB 串操作指令. A.REPNE B.REP C.REPE D.REPNZ 24.如果"JNC L"指令的操作码放在 0040H,转移后在 0020H 处取下一条指令的操 作码,那么该条指令的位移量是( ) . A.20H B.1EH C.0DEH D.0E0H 25.如果"JA P"指令的操作码放在 0050H, 该指令的位移量为 34H,执行完此条指 令转移到取下一条指令的偏移地址为( ) A.0082H B.0084H C.0086H D.0088H 26.若 DS=1000H,BX=2000H, (12000H)=56H, (12001H)=78H,AX=1000H,执行"ADD AX,[BX]"指令后,AX= ( ) . A.8856H B.6678H C.8800H D.6600H 27.设 AX,BX 寄存器中存放的是有符号的二进制数据,若执行"CMP AX,BX"指 令后, ( )L 表示大于则转 L. A.JZ B.JA C.JGE D.JG 28.执行"DIV BX"指令后, ( )寄存器中存放商. A.AL B.AH C.AX D.DX 29.执行"( )AX,BX"指令不改变 AX 寄存器中的内容. A.CMP B.ADD C.XOR D.OR 30.若 AX=1000H,执行"NEG AX"指令后,AX=( ) . A.1000H B.0E000H C.0F000H D.1001H 三.填空题 1.在一条指令中,立即数只能作 操作数. 2.8086/8088 CPU 形成的内存物理地址有 位. 3.指令"MOV AX,[BX+SI]"的源操作数在内存的 段. 4.指令"MOV BX,[BP+DI]"的源操作数在内存的 段. 5.指令"MOV AX,ES:[SI]"的源操作数在内存的 段. 6.入栈指令使用的是 段. 7.指令"ADD [BX+SI],AL"的目的操作数是 寻址方式. 8.指令"SUB BX,A[SI]"的源操作数是 寻址方式. 9.指令"JMP DWORD PTR [BX]"属于 寻址方式. 10.可作为寄存器间接寻址的寄存器有 个. 11.堆栈是从 地址向 方向生长的.其操作遵循 的操作原则. 12.在进行弹栈操作时应该先将弹出的数据送 ,然后 . 13.在进行多精度加法运算时,一般使用 指令. 14.通用的数据传送指令不影响 . 15."INC AL" 指令不影响标志位的 位. 16.若 AL=11H,执行"NEG AL" 后,AL= . 17.JMP 指令的执行 PSW 寄存器中的各位. 18.两个无符号数进行比较时,可以根据 标志位来判断大小.在编写程序时可使用

指令来实现. 19.若执行"DIV BX",其被除数的高 16 位必须放在 ,低 16 位必须放在 . 20.DAA 指令只对 寄存器中的内容进行调整. 21.若 AL=84H,在执行 CBW 后,AL= . 22.十进制数 1234 的压缩型 BCD 码为 . 23.执行 AND AL,0FH JNZ L 指令,是检测 AL 中的 位,当它为非零则转移. 24.若移位指令的移位位数大于 1 时,其移位位数必须放在 中. 25.如果 AL=85H,CL=4,执行"SAR AL,CL"时,AL= ,CF= . 26.在串操作指令中,SI 指向 串,DI 指向 串. 27.如果要查找某串中与 AL 寄存器中有相同的字符(数) ,则在 SCASB 指令前应配合使用 重复前缀. 28.转移指令"JNZ L "的转移范围(十进制)是 .该指令的第二个字节为位移量,用 形式表示. 29.段内调用指令改变 中的内容. 30.段间调用指令改变 中的内容. 四.判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因) 1.ADD AL,BX 2.MOV [BX],SI 3.SUB [BX],[SI] 4.CMP 5,AL 5.MOV CX,AX 6.LEA BL,A 7.SHR AL,6 8.MOV AL,[DI+SI] 9.MOV BL,200H 10.MOV AX,DATA 11.INC [BX] 12.CMP [BX],A ;A 为变量 13.MOV AX,'+' 14.MOV AX, [BP+BX] 15.ADD AX,[CX] 16.OUT 400,AL 17.JNC P 18.MOV BX,,OFFSET A 19.LEA DI,A[SI] 20.CMP AX,5 五.改错题(按下列指令中的原意改正下列指令) 1.DEC [SI] 2.CMP AL,BX ;无符号数比较 3.MOV [DX],AL 4.MOV AL,300H 5.MOV [BX],[DI] ;字节操作 6.ADD AL,[CX+SI] 7.ADD AL,BX ;有符号数相加 8.PUSH AL 9.CMP [BX],5 ;字节比较

10.MOV DS,1234H 六.简答题 1.设 BX=1000H,SI=2000H,位移量 D=3000H,请指出下列各种寻址方式的有效地址是什么? (1)使用 D 的直接寻址 (2)使用 BX 寄存器的间接寻址 (3)使用 BX 寄存器的相对寻址 (4)基址变址寻址 (5)相对基址变址寻址 2.请指出下列各条指令的源操作数的寻址方式是什么? (1)MOV AX,BUF (2)CMP AL,5 (3)ADD [BX+5],AX (4)SUB AX,[BX+SI] (5)ADC AH,A[SI] (6)MOV BX,[SI] (7)AND CX,B[BP+SI] (8)JMP WORD PTR [BX] (9)JMP P (10)JMP FAR PTR P 3.设 DS=2000H, BX=0100H, SI=0002H, (20100H)=12H, (20101H)=34H, (20102H)= 56H, (20103H) = 78H, (21200H)= 2AH, (21201H)= 4CH, (21202H)=B7H, (21203H)=65H,试说明下列各条指令执行完后 AX 寄存器中的内容是多少? (1)MOV AX,1200H (2)MOV AX,BX (3)MOV AX,[1200H] (4)MOV AX,[BX] (5)MOV AX,[BX+1100H] (6)MOV AX,[BX+SI] (7)MOV AX,[BX+SI+1100H] 4.按下列各小题的要求写出相应的一条汇编语言指令. (1)把 BX 寄存器和 DX 寄存器的内容相加,结果存入 DX 寄存器中 (2)以 BX 和 SI 寄存器作基址变址寻址方式,把该单元中的一个字传送到 AX. (3)以 SI 和位移量 20H 作寄存器相对寻址,将该单元中的内容与 CX 寄存器中的内容相加,结果存入 CX 寄存 器中. (4)清除 AX 寄存器的内容,同时清除 CF 标志位 (5)将字单元 NUM 与 0B6H 进行比较 5.按下列各小题的要求使用相应的几条指令完成其操作. (1)将偏移量为 200H 的存储单元中的数与 300H 相加,结果存入 AX 寄存器中 (2)比较 AX 寄存器中与 BX 寄存器中的 16 位有符号数,当 AX 中的内容大于 BX 中的内容时转移到 L. (3)将 BUF1 和 BUF2 中的 16 位数据交换 (4)测试 BUF 字缓冲区中第 15 位,如果为 1 则转移到 P (5)将 BUFI 和 BUF2 的字相加,结果送 S 缓冲区 6.设 BX=8234H,请说明下列两条指令的区别,执行下列各指令后 BX 中的内容是什么? SHR BX,1 SAR BX,1 7.分别说明下列每组指令中的两条指令的区别.

(1) MOV BX,BUF LEA BX,BUF (2) OR BL,0FH AND BL,0FH (3) JMP SHORT L JMP L (4) MOV AX,BX MOV AX,[BX] (5) MOV AX,[BX+DI] MOV AX,[BP+DI] 8.说明下列各指令的源操作数和目的操作数的存储地方. (1)MOV [2000H],AX (2)ADD AX,[BX+5] (3)LEA SI,BUF (4)DAA (5)MUL BL 9.指出下列无条件转移指令的转移目标地址是什么?存放在何处? (1)JMP BX (2)JMP WORD PTR [BX] (3)JMP DWORD PTR [BX] (4)JMP P (5)JMP SHORT R 10.说明 MOVSB 和 CMPSB 各能使用哪些重复前缀? 七.程序分析题 1.现有程序段如下: MOV AX,1234H MOV BX,60H ADD AX,BX 请回答 : (1)该程序段完成的功能是什么? (2)程序段执行完后 AX= . 2.现有程序段如下: MOV AX,0603H MOV BL,8 AAD DIV BL 请回答 : (1)该程序段完成的功能是什么? (2)程序段执行完后 AX= . 5.设 A 为字节变量,变量中的内容分别为 64H,52H;B 为字节变量,变量中的内容分别为 12H,46H,现有程序段 如下: MOV AL,A SUB AL,B DAS MOV C,AL MOV AL,A+1 SBB AL,B+1 DAS MOV C+1,AL 请回答 : (1)该程序段完成的功能是什么? (2)最后结果是什么? 6.现有程序段如下: MOV BL,AL

MOV CL,4 SHR BL,CL MOV A,BL AND AL,0FH MOV B,AL 请回答 : (1)该程序段完成的功能是什么? (2)如果 AL 的初值为 56H,则 A= ,B= . 7.现有程序段如下: MOV AL,8 MOV BL,7 MUL BL AAM ADD AX,3030H XCHG AH,AL MOV BUF,AX 请回答 : (1)该程序段完成的功能是什么? (2)BUF 两个单元中的值分别为 . 8.现有程序段如下: MOV AX,M MOV DX,N SHR DX,1 RCR AX,1 请回答 : (1)该程序段完成的功能是什么? (2)若 M=1234H,N=5678H,程序运行后 DX= ,AX= 9.现有程序段如下: XOR AX,AX MOV AX,6342H MOV CX,0404H ROL AH,CL XCHG CH,CL ROR AL,CL 请回答 : (1)该程序段执行后 AX= . (2)CF= . 12.现有程序段如下: CLD MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,100 REP MOVSB 请回答:该程序段完成的功能是什么? 13. 现有程序段如下: CLD LEA DI,BUF MOV AL,20H MOV CX,100 REPNZ SCASB

.

请回答 : (1)该程序段完成的功能是什么? (2)若 ZF=1,表示 BUF 中 值为 20H 数据 (3)若 BUF 的首地址为 0,ZF=0,执行完该程序段后 DI= 14.现有程序段如下: MOV AL,0 MOV BL,1 MOV CX,10 L: ADD AL,BL INC BL LOOP L 请回答 : (1)该程序段完成的功能是什么? (2)该程序执行完后,AL= .

.


网站首页 | 网站地图 | 学霸百科 | 新词新语
All rights reserved Powered by 大学生考试网 9299.net
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com