77范文网 - 专业文章范例文档资料分享平台

微机前四章答案(楼顺天版)(4)

来源:网络收集 时间:2018-12-25 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(4)相乘结果存入BUF的0020H偏移地址处(低位在前)。 解: (1) LEA SI, BUF

MOV

AX, [SI+4]

AX,1 AX,1

(2) SHR

SHR

(3) MUL (4) MOV

MOV

WORD PTR 6[SI] 20H[SI],AX 22H[SI],DX

13. 设(BX)=11001011B,变量VAR的内容为00110010B,求下列指令单独执行后BX的内

容:

(1)XOR BX,VAR; (3)OR BX,VAR;

(2)AND BX,VAR; (4)XOR BX,11110000B; (6)TEST BX,1

(5)AND BX,00001111B; 解:(1)00F9H (2)0002H (3)00FBH (4)003BH (5)000BH (6)00CBH

14. 设(DX)=10111011B,(CL)=3,(CF)=1,求下列指令单独执行后DX的内容:

(1)SHR DX,1; (2)SAR DX,CL; (3)SHL DX,CL; (4)SHL DX,1; (5)ROR DX,CL; (6)ROL DL,CL; (7)SAL DH,1; (8)RCL DX,CL; (9)RCR DL,1 解:DX= 0000 0000 1011 1011B CF=1 CL=3 (1)SHR (2)SAR (3)SHL (4)SHL (5)ROR (6)ROL

DX,1 DX,CL DX,CL DX,1 DX,CL DL,CL

DX逻辑右移1 DX算术右移3 DX逻辑左移3 DX逻辑左移1 DX循环右移3 DL循环左移3

- 15 -

0000 0000 0101 1101B = 0000 0000 0001 0111B = 0000 0101 1101 1000B = 0000 0001 0111 0110B = 0110 0000 0001 0111B = 0000 0000 1101 1101B =

005DH 0017H 05D8H 0176H 6017H 00DDH

(7)SAL DH,1 (8)RCL

05DCH (9)RCR

DH算术左移1 0000 0000 1011 1011B = 00BBH

DX,CL DX带进位循环左移3 0000 0101 1101 1100B =

DL,1 DL带进位循环右移1 0000 0000 1101 1101B = 00DDH

15. 选择题(各小题只有一个正确答案)

(1)执行下列三条指令后:

MOV SP,1000H PUSH AX CALL BX

a. (SP)=1000H; c. (SP)=1004H;

b. (SP)=0FFEH; d. (SP)=0FFCH;

(2)要检查寄存器AL中的内容是否与AH相同,应使用的指令为:

a. AND AL, AH

b. OR AL, AH

c. XOR AL, AH d. SBB AL, AH

(3)指令JMP NEAR PTR L1与CALL L1(L1为标号)的区别在于:

a. 寻址方式不同; c. 目的地址不同;

b. 是否保存IP的内容; d. 对标志位的影响不同。

解:(1)D (2)C (3)B

PUSHU AX则AX入栈,SP=0FFEH;CALL BX则IP入栈,SP=0FFCH 异或,若相同,则AL=0,ZF=1。

16. 寄存器DX:AX组成32位数,DX为高位,编写程序段实现:

(1)DX:AX右移3位,并将移出的低3位保存在CL中; (2)DX:AX左移3位,并将移出的高3位保存在CL中; 解:(1)移出的3位应该按时序移入CL中。

XOR CL,CL MOV BL,3

L1: SHR DX,1

RCR AX,1 RCL CL,1 DEC BL

- 16 -

JNZ L1

(2)移出的3位应该按时序移入CL中。

XOR CL,CL MOV BL,3

L1: SHL AX,1

RCL DX,1 RCL CL,1 DEC BL JNZ L1

17. 编写程序段实现将BL中的每一位重复4次,构成32位的双字DX:AX,例如当BL

=01011101B时,则得到的(DX)=0F0FH,(AX)=0FF0FH。

解:算术右移时,移入的值就是最高位本身,这样可以使位内容重复,利用这一点可以实现题目的要求。

XOR XOR MOV

DX,DX AX,AX CX,4

L1: SHR

RCR SAR SAR SAR

BL,1

AX,1

AX,1 AX,1 AX,1

LOOP L1 MOV

CX,4

L2:

SHR BL,1

RCR SAR SAR SAR

DX,1

DX,1 DX,1 DX,1

LOOP L2

18. 字变量VAR1中保存有小于38250的16位无符号数,编写程序段实现VAR1÷150,并

- 17 -

进行四舍五入操作,将商保存在字节变量VAR2中。

解:根据题意,38250÷150=255,因此商不会超过255,可以用一个字节表示。

a÷b的四舍五入操作可以通过判断除后余数实现:余数大于等于除数的一半,则商加1;否则不用加1。但这种方法用汇编语言编程实现时比较复杂,这里介绍另外一种方法:设a÷b的四舍五入后的结果为c,用『』表示取整数操作,则

b???a??a?2? c???0.5???b??b???这种方法是在除法操作之前,在被除数上加上除数的一半,这样除法操作后得到的值就是考虑了四舍五入的商。 VAR1

DW 12345

DB ?

DB 150

VAR2

DATAA

MOV AX,VAR1 XOR BX,BX MOV BL,DATAA SHR BX,1 ADD AX,BX DIV DATAA

MOV VAR2,AL

19. 有一组无符号的16位数据保存在BUFFER中,前两个字节存放数据的个数,编程实

现按下式进行滤波处理:

1?x(k)?x(k?1)?x(k?2)?3y(k)?x(k)y(k)?解:滤波结果保存在FILT中。

BUFFER DW 0CH

k?2k?2

DW 33H, 18H, 1BH, 06H, 33H, 08H DW 3H, 6H, 0FH, 51H, 05H, 0CH

FILT DW 100H DUP(?)

- 18 -

LEA SI, BUFFER LEA DI, FILT MOV CX, [SI] ADD SI, 2

MOV AX, [SI] AX=X1 MOV [DI], AX MOV BX, 2[SI] MOV 2[DI],BX ADD SI,4 ADD DI,4 DEC CX DEC CX ADD AX, BX XOR DX, DX ADC DX,0 MOV BX,3 L1:

ADD AX, [SI] ADC DX,0 PUSH DX PUSH AX DIV BX MOV [DI],AX POP AX POP DX SUB AX, [SI-4] SBB DX,0 ADD DI,2 ADD SI,2

19 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机前四章答案(楼顺天版)(4)在线全文阅读。

微机前四章答案(楼顺天版)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/389834.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: