2022年2022年计算机组成原理与汇编语言程序设计课后习题答案 .pdf

上传人:Che****ry 文档编号:27248246 上传时间:2022-07-23 格式:PDF 页数:9 大小:141.64KB
返回 下载 相关 举报
2022年2022年计算机组成原理与汇编语言程序设计课后习题答案 .pdf_第1页
第1页 / 共9页
2022年2022年计算机组成原理与汇编语言程序设计课后习题答案 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年2022年计算机组成原理与汇编语言程序设计课后习题答案 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机组成原理与汇编语言程序设计课后习题答案 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、4.10 给定( BX )=637DH ,(SI)=2A9BH ,位移量 D=7237H,试确定在以下各种寻址方式下的有效地址是什么答案:(1)立即寻址没有 IP 的内容(2)直接寻址 7237H ;MOV AX,7237H (3)使用 BX的寄存器寻址没有 ;MOV AX,BX (4)使用 BX的间接寻址 637DH ;MOV AX,BX (5)使用 BX的寄存器相对寻址 0D5B4H ;MOV AX,DBX (6) 基址变址寻址 8E18H ;MOV AX,BXSI (7)相对基址变址 004FH ;MOV AX,DBXSI 4.11求执行两条指令后,各标志位的状态MOV AL ,91 ;

2、执行后,(AL)=91=5BHADD AL ,0BAH加法执行如下:0BA H 10111010+ 05B H 01011011115 H 1 0001 0101CF:显然最高位产生了进位(两个加数都是两位的,和却有三位),CF=1AF:低四位向高四位产生了进位(A+B 产生进位),AF=1ZF:运算结果不为0,ZF=0SF:运算结果最高位为0(高四位: 1H=0001B ), SF=0OF:负 +正=正(两个加数的符号位不同),没有溢出,OF=04-12(1)MOV AL , 0F5H 正确(2)ADD BXBP,BX 错误,不能同时使用BXBP 进行寻址(3)CMP AL ,100H 错误

3、, AL 为 8 位,100H 大于 8 位,类型不匹配。(4)TEST BP ,DL 正确(5)ADC 15 ,CL 错误,目的操作数不能是立即数(6)SUB DI ,DA_WORD 错误,两个操作数不能同时是存储器操作数。(7)OR CH,CL 正确(8)MOV AL ,1000H 错误, AL 为 8 位,1000H 为 16 位,类型不匹配。(9)SAR 10HDI ,2 错误, AL 为 8 位,移位多次必须CL 中。(10)NOT AL , BL 错误,逻辑非操作是单操作指令。(11)DEC CX , 1 错误,逻辑非操作是单操作指令。(12)LEA ES ,TABBX 错误,目的

4、寄存器只能是通用寄存器。4-13 、根据下列要求,写出相应的汇编指令名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 答案:(1) ADD AL,BXSI (3)ADD BX 0B2H , CX (4)MOV AX,2A59H ADD 0524H ,AX (5)ADD AL,0B5H 4-14、答案:(1)寄存器间接寻址MOV BX, OFFSET TABLE ADD BX, 08H MOV DX ,BX (2)寄存器相对寻址MO

5、V SI,O8H MOV DX,TABLESI (3) 基址变址寻址MOV BX , TABLE MOV SI,O8H MOV DX,BXSI 4-15 15、假设( DS)=091DH ,(SS)=1E4AH ,( AX)=1234H ,(BX )=0024H,(CX )=5678H,(BP)=0024H,(SI)=0012H ,(DI )=0032H ,(09226H)=00F6H,(09228H)=1E40H,( 1E4F6H) =091DH 。试给出下列各指令或程序段的分别执行的结果。答:(1) MOV CL ,20HBXSI 有效地址EA=20H+BX+SI =20H+0024H+0

6、012H=0056H逻辑地址DS: 0056H物理地址 =091D0H+0056H=09226H (逻辑地址左移1 为加有效地址)CL=09226H=0F6H(2) MOV BPDI,CX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 有效地址EA=BP+DI =0024H+0032H=0056H逻辑地址SS:0056H物理地址 =1E4A0H+0056H=1E4F6H1E4F6H=CX=5678H (3) LEA BX ,2

7、0HBXSIMOV AX , 2BX有效地址EA=20H+BX+SI =20H+0024H+0012H=0056HBX=0056H 有效地址EA=2H+BX=2H+0056H=0058H逻辑地址DS: 0058H物理地址 =091D0H+0058H=09228HAX=09228H=1E40H (4) LDS SI ,BXDIMOV SI ,BX有效地址EA=BX+DI =0024H+0032H=0056H逻辑地址DS: 0056H物理地址 =091D0H+0056H=09226HSI=09226H=00F6HDS=09226H+2H=09228H=1E40H有效地址EA=SI= 00F6H逻辑

8、地址DS: 00F6H物理地址 =1E400H+00F6H=1E4F6H1E4F6H=BX=0024H(5) XCHG CX , 32HBXXCHG 20HBXSI, AX有效地址 EA=32H+BX =32H+0024H=0056H逻辑地址DS: 0056H物理地址 =091D0H+0056H=09226HCX=09226H=00F6H09226H=5678H有效地址EA=20H+BX+SI =20H+0024H+0012H=0056H逻辑地址DS: 0056H物理地址 =091D0H+0056H=09226H09226H= 1234HAX=5678H4-16 (01400)=1234H 应

9、改为 (01410)=1234H分析:有效地址EA=10H+SI= 10H+0400H=0410H 逻辑地址DS: 0100H物理地址 =01000H+0410H=01410HMOV AX ,10HSI ;传送的是源操作数的内容AX=1234HLEA AX ,10HSI ;传送的是源操作数的有效地址AX=0410H4-17mov ax,1234h ;将 1234h 这个 16 进制数放到ax 寄存器中mov bx ,5678h ; 同理,将5678h 这个 16 进制数放到bx 这个寄存器中名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

10、 - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - push ax ;将 ax 压栈,即将1234h 放到栈顶push bx ;将 bx 压栈,即将5678h 放到 1234h 上面(即栈顶)pop cx ;弹出当前栈顶元素(5678h),并将其传送给cx,即 (cx)=5678h4-18 写出执行以下计算的指令序列,其中X,Y,Z,R 和 W 均为存放16 位带符号数单元的地址。(1) ZW+ ( Z-X)(2) ZW - (X+6)- (R+9)(3) Z( W*X )/ (Y+6),R余数(4) Z( W-X )/5*Y )*2

11、 本题与书上不尽相同参考下题答案:(1). MOV AX,Z ;把 Z 送到 AX SUB AX,X ; Z-X ADD AX,W ;W+(Z-X) MOV Z,AX ;结果保存在Z中(2).MOV AX,R ;R送到 AX中ADD AX,9 ;R+9 MOV BX,X ;X送到 BX中ADD BX,6 ;X+6 ADD AX,BX ;( R+9) +(X+6), 结果保存在AX中MOV BX,W ; W送到 BX中SUB BX,AX ; W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和 MOV Z,BX ;最终结果送到Z 中(3).MOV AX ,W ;把 W送到 AX I

12、MUL X ;W*X 注意:低十六位保存在AX里,高十六位保存在DX里MOV BX ,Y ;把 Y送到 BX 里ADD BX ,6 ; Y+6 IDIV BX ;( W*X )/(Y+6) 注意:商保存在AX里,余数保存在DX里名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - MOV Z , AX ;把商送到Z中,MOV R , DX ;把余数送到 R中(4).MOV AX,W ;把 W送到 AX中SUB AX,X ;W-X CW

13、D ; 把 AX中的十六位带符号数扩展成为32 位,低十六位保存在AX中,高十六位保;在 DX中MOV BX,5 ;把 5 送到 BX中IDIV BX ;( W-X )/5 被除数为32 位,除数为16 位商为 16 位IMUL Y ;上一步结果再乖以Y,积为 32 位MOV BX,2 ;把 2 送到 BX中IMUL BX ;上一步乘法所得的积再乘以2,各为 64 位MOV Z,EAX ;把结果中低32 位放入 Z 双字单元中 ,超出范围MOV Z+4,EDX ;把结果中高32 位放入 Z+4双字单元中 ,超出范围请参考下题试编制一程序,计算下列公式的值,将商存放在Z 单元,余数放在R单元内中

14、。 X、Y、Z、R、W分别为存放16 位带符号数单元的地址。计算过程中中间结果和最后结果在16 位二进制数范围内Z =(W-Z )/(5*Y )*2MOV AX,W ;把 W送到 AX中SUB AX,X ; W-X MOV BX,2 ;把 2 送到 BX中MUL BX ;先乘以 2 PUSH AX ;保存中间结果(W-Z )*2MOV AX,5 ;把 5 送到 AX中MUL Y ;5 再乖以 Y,乘机在AX中MOV BX,AX ;5*Y 再放到 BX中POP AX ;返回中间结果(W-Z )*2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -

15、 - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - XOR DX,DX DIV BX ;实现( W-Z )*2/(5*Y),商在AX 中,余数在DX 中MOV Z,AX MOV R,DX 4-19给了一定初始寄存器条件,问执行一段程序后,几个寄存器中应该是什么内容(遇到这种题目, 应当把所有寄存器列一个表格,每一条指令分析完后,填上新的一行寄存器内容, 这样才不容易出错,逐条指令分析, 每条指令都使用上条指令执行完后新的寄存器内容。下面我们按照这种思路来分析这段程序)(DS)=1234H ,( SI)=124H,( 12464H)

16、 =30ABH ,( 12484H)=464H(考试时可以用自己的方式简写寄存器状态,提高速度)1)LEA SI ,SI分析: EA= (SI)=124H指令执行完后,(SI)=(SI) =124H(注意 LEA 指令的功能,不要搞成MOV 指令了)引起的寄存器内容变化:无(仅列出当前变化了的,能提高解题速度)2)MOV AX ,SI分析: EA= (SI)=124H 默认使用DS物理地址 =12340H+124H=12464H执行后,寄存器变化为:(AX )=(12464H)=30ABH3)MOV SI+22H , 1200H分析: SI+22H=22HSI EA=22H+ (SI)=22H

17、+124H=146H 默认使用DS物理地址 =12340H+146H=12486H执行后,寄存器没有变化,存储单元变化为:(12486H)=1200H4)LDS SI , SI+20H分析: SI+20H=20HSI EA=20H+ (SI)=20H+124H=144H 默认使用DS物理地址 =12340H+144H=12484H当前:( 12484H)=464H (12486H)=1200H执行后,变化:(SI)=(12484H)=464H,( DS)=(12486H)=1200H5)ADD AX ,SI分析: EA= (SI)=464H 默认使用DS物理地址 =12000H+464H=12

18、464H执行后,变化:(AX)=(AX )+(12464H)=30ABH+30ABH=6156H4-20假定了一些寄存器初始内容,问执行一段程序后某些寄存器和标志位的内容。初始:( AX )=0A5C6H ,( CX) =0F03H1)STC执行后, CF=12)RCL AX ,CL当前( CL)=03H,( AX )=1010010111000110B ,CF=1执行后:( AX )=0010111000110110B=2E36H ,CF=1,3)AND AH ,CH当前( AH )=02EH=00101110B名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

19、 - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - (CH)= 0FH =00001111B功能为提取低4 位,执行后, AH=0EH ,CF=0(强制清 0)4)RCR AX ,CL当前( CL)=03H,CF=0,( AX )=0E36H=0000111000110110B ,执行后: CF=1,( AX ) =1000000111000110B=81C6H 4-21 初始:( AX )=0FC77H ,( CX)=504H1)CLC执行后, CF=02)SAR AX ,CL当前( CL)=04H,( AX

20、 )=0FC77H=1111110001110111B算术右移4 位 (记得最高位补充符号), 执行后(AX ) =1111111111000111B=0FFC7H , CF=0。3)XCHG CH ,CL当前( CH)=05H ,( CL)=04H执行后,( CH)=04H,( CL)=05H4)SHL AX ,CL当前( CL)=05H,( AX )=0FFC7H=1111111111000111B逻辑左移5 位,执行后(AX )=1111100011100000B=0F8E0H ,CF=14-22 初始:( AX )=0FFFFHINC AX执行后,( AX )=0000HNEG AX执

21、行后,( AX )=0000HDEC AX执行后,( AX )=0FFFFHNEG AX执行后,( AX )=0001H4-23 初始:( BX )=12FFH1)MOV CL , 8执行后,( CL) =82)ROL BX ,CL循环左移8 位,相当于低8 位和高 8 位交换, CF 中保存高8 位的最低位执行后,( BX )=0FF12H,CF=03)AND BX , 0FFH提取低 8 位,执行后,(BX )=0012H, CF=04)CMP BX ,0FFH执行后,( BX )不变,( BX )=0012H因为作为无符号数,0012H CMOV AX ,ANEG BSUB AX , B

22、 MOV C ,AX(4)把 DX,AX 中的 32 位无符号数右移2 位SHR DX , 1RCR AX ,1SHR DX , 1RCR AX ,1(5) 用一条指令把CX 中的整数转变为奇数OR CX ,0001H(6)将 AX 中第 1,3 位变反,其余各位保持不变XOR AL ,00001010B(7) 根据 AX 中有 0 的位对 BX 中对应位变反,其余各位保持不变。NOT AX (AX 中内容变反)XOR BX ,AX 4-30MOV CL, 4 ; 设置循环次数为SHR AX, CL ; 实现将 AX 逻辑右移名师资料总结 - - -精品资料欢迎下载 - - - - - - -

23、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - MOV BL, DL ; 将 DL 的低 4 位暂存在BL 中SHR DX, CL ; 实现将 DX 逻辑右移SHL BL, CL ; 将 BL 逻辑左移OR AH, BL ; 将 BL 或上 AH ; 也就是使 DL 的低 4 位或上 AH 高 4 位,从而实现了DX 、AX中的双字右移四位。4-39要求不改变DH 内容方法很多:1. 先送进 BH ,再在 BH 里清除高三位就行了2. 放到 AL 里(或其它字节单元)处理,然后存入BH 3. 先将 DX 入栈,处理完从栈中恢复要清除最左3 位,也有多种方法:1. 与 00011111B( 或 1FH) 作 AND 运算2. 左移三位,再右移三位组合上面的两种方法1, 是这样:MOV BH, DH AND BH, 00011111B名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁