微机原理与接口技术-郭兰英著-第三章答案

上传人:fe****16 文档编号:132188753 上传时间:2020-05-13 格式:DOC 页数:7 大小:40.50KB
返回 下载 相关 举报
微机原理与接口技术-郭兰英著-第三章答案_第1页
第1页 / 共7页
微机原理与接口技术-郭兰英著-第三章答案_第2页
第2页 / 共7页
微机原理与接口技术-郭兰英著-第三章答案_第3页
第3页 / 共7页
微机原理与接口技术-郭兰英著-第三章答案_第4页
第4页 / 共7页
微机原理与接口技术-郭兰英著-第三章答案_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《微机原理与接口技术-郭兰英著-第三章答案》由会员分享,可在线阅读,更多相关《微机原理与接口技术-郭兰英著-第三章答案(7页珍藏版)》请在金锄头文库上搜索。

1、第三章、习题答案3.答案: (1) 完整段定义程序结构:STACK SEGMENT STACK STACK DB 200H DUP (?) STACK ENDS DATA SEGMENT DATA 变量、数组、字符串等定义 DATA ENDS CODE SEGMENT CODE ASSUME CS:CODE1, DS:DATA, SS:STACK START: MOV AX, DATA MOV DS, AX.;主程序指令序列MOV AH, 4CHINT 21H SUB1 PROC . .;子程序指令序列 RET SUB1 ENDP CODE ENDS END START4.略6. 答案:(1)

2、 x1 db 20, 20 dup(0)(2) x2 db The course is easy,0(3) x3 db 0AH, 0DH, $(4) x4 dw 100 dup(0)(5) even x5 dw ?(6) org 10 string db ABCDEF data dw string7. 答案: var1 2字节; var2 12字节; var3 13字节; var4 12字节; var5、var6与var3偏移量相同; var5占14字节,var6占16字节9答案: aaa union string db ABCDEFG data dw 4 dup (?) aaa ends13

3、.答案:(1) AX 错误; 寄存器间接寻址只能用间址寄存器BX、BP、SI、DI中的某一个。(2) BP 正确; 寄存器寻址。(3) SI+DI 错误; 基址加变址寻址只能用基址寄存器BX、BP中的某一个与变址寄存器SI、DI中的某一个的内容之和构成偏移地址。(4) SP 错误; 寄存器间接寻址只能用间址寄存器BX、BP、SI、DI中的某一个。(5) CS 错误; 一般不允许代码段寄存器CS做操作对象。(6) BH 正确; 寄存器寻址。(7)BX+BP+32 错误; 基址变址相对寻址只能用基址寄存器BX、BP中的某一个与变址寄存器SI、DI中的某一个的内容之和加上一个相对位移量构成偏移地址。

4、(8)BL+44 错误; 寄存器相对寻址只能用间址寄存器BX、BP、SI、DI中的某一个的内容加上一个相对位移量构成偏移地址,而且只能以16位寄存器的形式使用。(9)CX+90 错误; 寄存器相对寻址只能用间址寄存器BX、BP、SI、DI中的某一个的内容加上一个相对位移量构成偏移地址。(10)DX 错误; 寄存器间接寻址只能用间址寄存器BX、BP、SI、DI中的某一个。(11)BX+90H 错误; 如为寄存器相对寻址,只能用间址寄存器BX、BP、SI、DI中的某一个的内容加上一个相对位移量构成偏移地址,这时两者之和应位于方括号中,表示是偏移地址。(12)BX*4 错误; 寄存器相对寻址只能用间

5、址寄存器BX、BP、SI、DI中的某一个的内容加上(而不能乘以)一个相对位移量构成偏移地址。(13)SI100H 错误; 如为寄存器相对寻址,只能用间址寄存器BX、BP、SI、DI中的某一个的内容加上一个相对位移量构成偏移地址,这时两者之和应位于方括号中,表示是偏移地址。(14)DX+90H 错误; 寄存器相对寻址只能用间址寄存器BX、BP、SI、DI中的某一个的内容加上一个相对位移量构成偏移地址。14. 答案:注意是源操作数的寻址方式。(1)MOV AX, 0ABH 立即数寻址,物理地址为该条指令的代码段物理地址2。(2)MOV AX, 100H 直接寻址,物理地址为20100H。(3)MO

6、V AX, wVa1直接寻址,物理地址为20050H。(4)MOV BX, SI 寄存器间接寻址,物理地址为200A0H。(5)MOV AX, wVa1BX 寄存器相对寻址,物理地址为20150H。(6)MOV AX, BXSI基址加变址寻址,物理地址为201A0H。(7)MOV wVa1SI, BX寄存器寻址,物理地址为寄存器BX。(8)MOV BPSI, 100 立即数寻址,物理地址为该条指令的代码段物理地址2。15. 答案:所需指令序列为:MOV AX, 8057HMOV BX, 0F79HPUSH AXPUSH BXPOP BX指令执行之前,堆栈区及SP为: 栈底SS:0000H -

7、(物理地址0FF100H)栈顶SP -00A0H(物理地址0FF1A0H)执行第一条PUSH指令后,堆栈区及SP为:(相当于SP内容2) 57H80H 栈底SS:0000H - (物理地址0FF100H)当前栈顶SP - 009EH009FH00A0H再执行第二条PUSH指令后,堆栈区及SP为:(相当于SP内容总共4) 79H0FH57H80H 栈底SS:0000H - (物理地址0FF100H)当前栈顶SP -009CH009DH009EH009FH00A0H再执行POP指令后,堆栈区及SP为:(相当于SP内容又2,总共2,0F79H被弹出到寄存器BX中。)57H80H 栈底SS:0000H

8、 - (物理地址0FF100H)009CH009DH当前栈顶SP -009EH009FH00A0H19. 答案:假设X,Y,Z,W,R均为无符号字变量,(1)Z=W(ZX)MOV AX, ZADD AX, XADD W, AX(2)Z=W(X6)(R9)MOV AX, XADD AX, 6MOV BX, RADD BX, 9SUB W, AXSUB W, BX(3)Z= (WX)(R6)MOV AX, WMOV CX, XMUL CX ;32位乘积位于寄存器(DX:AX)中。MOV CX, RADD CX, 6DIV CX ;16位商位于寄存器AX中,余数位于DX中。(4)Z= (WX)5Y)

9、2MOV AX, WSUB AX, X ;16位差位于寄存器AX中,MOV DX, Y ;先做16位16位乘法, MUL DX, ;32位乘积位于寄存器(DX:AX)中。MOV CX, 5DIV CX ;16位商位于寄存器AX中,余数位于DX中。SHL AX, 1 ;算术左移一位,相当于乘2。21. 答案:(1) MOV AX, 4F80H 或 MOV AX, bNum1MOV BX, 196DH 或 MOV BX, bNum1+2MOV DL, 00HCLCSHL AX, 1RCL BX, 1RCL DL, 1SHL AX, 1RCL BX, 1RCL DL, 1 ;左移两位,移出部分保留于

10、寄存器DL中。MOV bNum2, AXMOV bNum22, BXMOV bNum24, DL ;存放左移结果,5个字节。MOV AX, 4F80H 或 MOV AX, bNum1MOV BX, 196DH 或 MOV BX, bNum1+2MOV DL, 00HCLCSHR BX, 1RCR AX, 1RCR DL, 1SHR BX, 1RCR AX, 1RCR DL, 1MOV CL, 6SHR DL, CL ;左移两位,移出部分保留于寄存器DL中。MOV bNum3, AXMOV bNum32, BXMOV bNum34, DL ;存放右移结果,5个字节。(2) MOV AX, 4F8

11、0H 或 MOV AX, bNum1MOV BX, 196DH 或 MOV BX, bNum1+2MOV DL, 00HCLCNOT AXADD AX, 1NOT BXADC BX, 0AND BX, 8000HJZ POSMOV DL, FFHPOS: MOV bNum4, AXMOV bNum42, BXMOV bNum44, DL ;存放求补结果,5个字节。23. 答案:MOV AX, 4000HMOV DS, AXMOV ES, AXCLDMOV CX, 0B000HMOV SI, 0000HMOV DI, 0000HMOV AL, 20HREP STOSBMOV CX, 0B000HREPZ SCASBJCXZ RIGHTMOV AL, 00HJMP EXITRIGHT:MOV AL, 0FFHEXIT: MOV AH, 4CHINT 21H24. 答案:MOV AL, ACMP AL, 0JZ CLEARMOV AH, BCMP AH, 0JZ CLEARMOV BL, CCMP BL, 0JZ CLEARADD AL, AH

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号