2022年微机原理与接口技术习题答案 3.pdf
《2022年微机原理与接口技术习题答案 3.pdf》由会员分享,可在线阅读,更多相关《2022年微机原理与接口技术习题答案 3.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 3 章 8086CPU 指令系统1.写出完成下列要求的变量定义语句:(1)在变量var1 中保存 6个字变量: 4512H,4512, 1,100/3 ,10H,65530;(2)在变量var2 中保存字符串:BYTE , word, WORD;(3)在缓冲区buf1 中留出 100 个字节的存储空间;(4)在缓冲区buf2 中,保存 5 个字节的55H,再保存 10 个字节的240,并将这一过程重复 7 次;(5)在变量var3 中保存缓冲区buf1 的长度;(6)在变量pointer中保存变量var1 和缓冲区buf1 的偏移地址。解: var1 DW 4512H,4512,-1,10
2、0/3,10H,65530 var2 DB BYTE , word , WORD buf1 DB 100 DUP(?)buf2 DB 7 DUP(5 DUP(55H),10 DUP( 240) )var3 DB LENGTH buf1 pointer DW var1,buf1 (或者 pointer DW OFFSET var1,OFFSET buf1)2.设变量 var1 的逻辑地址为0100: 0000,画出下列语句定义的变量的存储分配图: var1 DB 12, 12,20/6 ,4 DUP(0,55H) var2 DB Assemble var3 DW AB , cd , E var4
3、 DW var2 var5 DD var2 解:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 16 页 - - - - - - - - - 3.指令正误判断, 对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1, VAR2为字变量 , L1为标号):(1)MOV SI, 100 ( 2)MOV BX ,VAR1SI (3)MOV AX, BX ( 4)MOV AL, DX (5)MOV BP, AL ( 6)MOV VAR1, VAR2 (7)MOV
4、 CS, AX ( 8)MOV DS, 0100H (9)MOV BXSI, 1 ( 10)MOV AX, VAR1+VAR2 (11)ADD AX, LENGTH VAR1 ( 12)OR BL, TYPE VAR2 (13)SUB DI, 78H ( 14)MOVS VAR1, VAR2 (15)PUSH 100H ( 16)POP CS (17)XCHG AX, ES ( 18)MOV DS, CS (19)JMP L1+5 ( 20)DIV AX, 10 (21)SHL BL, 2 ( 22)MOV AL, 15+23 (23)MUL CX ( 24)XCHG CL, SI (25)A
5、DC CS:0100, AH ( 26)SBB VAR1 5,154 解: (1)MOV SI,100 正确。源:立即数寻址,目的:寄存器寻址(2)MOV BX,V AR1SI 正确。源:寄存器相对寻址,目的:寄存器寻址(3)MOV AX,BX 正确。源:寄存器间接寻址,目的:寄存器寻址(4)MOV AL,DX 错误。寄存器间接寻址时,DX, AX, CX不能作地址寄存器(5)MOV BP,AL 错误。操作数类型不一致(6)MOV V AR1,V AR2 错误。两存储单元之间不能用MOV 指令传送数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
6、- - - - - 名师精心整理 - - - - - - - 第 2 页,共 16 页 - - - - - - - - - (7)MOV CS,AX 错误。 CS 不能为目的操作数(8)MOV DS,0100H 错误。目的操作数为段寄存器时,源操作数不能为立即数(9)MOV BXSI,1 错误。指令类型不定。(10)MOV AX,V AR1+V AR2 错误。 MOV 指令中不能完成加法运算(11)ADD AX,LENGTH VAR1 正确。源:立即数寻址。目的:寄存器寻址(12)OR BL,TYPE V AR2 正确。源:立即数寻址。目的:寄存器寻址(13)SUB DI,78H 错误。指令类
7、型不定(14)MOVS V AR1,VAR2 正确。目的、源均为隐含寻址。操作数仅指出操作数类型(15)PUSH 100H 错误。将常数压入堆栈,要通过寄存器来实现(16)POP CS 错误。目的操作数不能为CS (17)XCHG AX,ES 错误。 XCHG 指令的操作数不能是段寄存器(18)MOV DS,CS 错误。 MOV 指令不能从段寄存器到段寄存器(19)JMP L1+5 正确。段内直接转移(20)DIV AX , 10 错误。指令格式错误。(21)SHL BL,2 错误。移位指令的移位数为1 或者 CL (22)MOV AL,15+23 正确。源 :立即数寻址,目的:寄存器。编译时
8、就处理为38 (23)MUL CX 正确。源:寄存器寻址,目的:寄存器寻址(24)XCHG CL,SI 正确。源:寄存器间接寻址,目的:寄存器寻址(25)ADC CS:0100,AH 正 确。源 :寄存器寻址 ,目的 : 直接寻址(数据在代码段中)(26)SBB VAR1-5,154 正确。源:立即数寻址,目的:直接寻址。4.说明下列指令对的区别:(1)MOV AX ,VAR1 与 MOV AX ,OFFSET VAR1 (2)MOV AX ,VAR2 与 LEA AX ,VAR2 (3)MOV AL ,LENGTH VAR1 与 MOV AL,SIZE VAR1 (4)MOV AL ,ES:
9、 DI CMP AL, SI 与 CMPSB (5)SHR AL ,1 与 SAR AL,1 (6)SHR AL ,1 与 ROR AL,1 (7)ROL BX ,1 与 RCL BX,1 解: (1)MOV AX ,VAR1 把变量 VAR1 对应地址单元中的一个字送入AX MOV AX ,OFFSET VAR1 把 VAR1 的有效地址的偏移地址送入AX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 16 页 - - - - - - - - - (2)MOV AX
10、,VAR2 把变量 VAR2 对应地址单元中的一个字送入AX LEA AX ,VAR2 把 VAR2 的有效地址的偏移地址送入AX (3)MOV AL ,LENGTH V AR1 把变量 VAR1 的长度送入AL MOV AL ,SIZE VAR1 把变量 VAR1 的大小送入AL (4)MOV AL ,ES:DI CMP AL ,SI 把以 ES 为段地址, DI 为偏移地址的一个字节送入AL ,并与以 SI 内容为偏移地址的一个字节作比较,改变标志寄存器内容。(相当于作ES: (DI )与( DS: (SI)内容比较)CMPSB 对字符串中的一字节比较。寻址方式隐含。源串的地址由DS:SI
11、 指定,目的串的地址由ES:DI 指定。(相当于作DS: (SI)与 ES: ( DI)内容比较)(5)SHR AL ,1 AL 逻辑右移 1 位,最高位移入0, 最低位移入CF。SAR AL ,1 AL 算术右移 1 位,以最高位内容移入,最低位移入CF, 其余各位右移一位。(6)SHR AL ,1 AL 逻辑右移 1 位,最高位移入0, 最低位移入CF。ROR AL , 1 AL 的各位构成环形移位,右移一位,最低位内容同时移入到CF 和最高位。(7)ROL BX ,1 BX 各位构成环形移位,左移一位,最高位内容同时移入到CF 和最低位。RCL BX ,1 BX 和 CF 构成环形移位,
12、左移一位,CF 内容移入到最低位,最高位移入CF。5.写出下列转移指令的寻址方式(设 L1 为标号,VAR1为字型变量, DVAR1为双字型变量) :(1)JMP L1 (2)JMP NEAR L1 (3)JNZ L1 (4)JMP BX (5)JG L1 (6)JMP VAR1SI (7)JMP FAR PTR L1 (8)JMP DVAR1 解: (1)JMP L1 段内直接寻址(2) JMP NEAR PTR L1 段内直接寻址(3)JNZ L1 段内直接寻址(4) JMP BX 段内间接寻址(5)JG L1 段内直接寻址(6) JMP VAR1SI 段内间接寻址(7)JMP FAR P
13、TR L1 段间直接寻址(8) JMP DVAR1 段间间接寻址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 16 页 - - - - - - - - - 6.设(DS )2000H, (BX)0100H, (SI)0002H, (20100)3412H, (20102)7856H,(21200) 4C2AH , (21202) 65B7H ,求下列指令执行后AX寄存器的内容:(1)MOV AX ,1200H;( 2)MOV AX ,BX ;(3)MOV AX, 120
14、0H; (4)MOV AX, BX; ( 5)MOV AX,1100BX; (6)MOV AX, BXSI; (7)MOV AX,1100BXSI 解: (1)1200H (2) 0100H (3)4C2AH (4)3412H ( 5)4C2AH (6)7856H (7)65B7H 7.执行下列指令后,DX寄存器中的内容是多少?TABLE DW 25,36, 1, 16,10000,13 PYL DW 7 ,MOV BX , OFFSET TABLE ADD BX, PYL MOV DX , BX 解: DX = 10FFH 由 -16(FFF0H )的高 8 位和 10000(2710H)的
15、低 8 位构成8.如果堆栈的起始地址为2200:0000,栈底为0100H, ( SP ) 00A8H ,求(1)栈顶地址;(2)SS的内容;(3)再存入数据5678H,3AF2H后, SP的内容。解:栈顶地址00A8H , SS = 2200H, 再存入 2 个字后, SP = 00A4H 9.设已用伪指令EQU定义了 4个标识符:N1 EQU 2100 N2 EQU 10 N3 EQU 20000 N4 EQU 25000 下列指令是否正确?并说明原因。(1)ADD AL ,N1N2;( 2)MOV AX ,N3 N4;(3)SUB BX ,N4N3;( 4)SUB AH ,N4 N3 N
16、1 ;(5)ADD AL ,N2;( 6)MOV AH ,N2*N2 解: (1)错误。 N1-N2=2090255 (2)正确(3)正确名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 16 页 - - - - - - - - - (4)错误。 N4-N3-N1=2900255 (5)正确(6)正确10.按下列要求写出指令:( 1)将 AX寄存器的低4 位清零,其余位不变;( 2)将 BX寄存器的低4 位置 1,其余位不变;( 3)将 AL寄存器的低4 位保持不变,高4
17、位取反;( 4)测试 BX中的位 1 和位 2,当这两位同时为0 时将 AL置 0FFH ,否则 AL清零;( 5)测试 BX中的位 1 和位 2,当这两位有一位为0 时将 AL 置 0FFH ,否则 AL清零;( 6)将 AL中保存的字母ASCII 码变换成相应的大写字母的ASCII 码;( 7)将 AL中保存的字母ASCII 码变换成相应的小写字母的ASCII 码;( 8)将 AX中的各位取反;( 9)将 DX中的低 7 位取反,高9 位不变;(10)将 CX中的低 8 位与高 8 位互换。解: (1)AND AX ,0FFF0H (2)OR BX,000FH (3)XOR AL ,0F0
18、H (4)TEST BX, 06H (5)MOV AX , BX JZ ZERO AND AX , 06H MOV AL ,00H XOR AX ,06H JMP OVER JZ OVER ZERO: MOV AL ,0FFH MOV AL ,0FFH OVER :OVER :(6)AND AL ,5FH 或者:CMP AL,61H JL OVER (无需变换或不是字母)CMP AL,7AH JG OVER (不是字母)AND AL ,5FH 或SUB AL , 20H OVER :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年微机原理与接口技术习题答案 2022 微机 原理 接口 技术 习题 答案
限制150内