微机原理及应用习题库与答案(清华版第四版) - 参考(2)

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

DTSEG ENDS |

答案:不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节. 7. 下面的数据项设置了多少个字节? (1) ASC_DATA DB ‘1234’ (2) HEX_DATA DB 1234H 答案 (1) 设置了4个字节 (2) 设置了2个字节 8. 执行下列指令后, AX寄存器中的内容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3 MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX] 答案: (AX)=40

9. 指出下列指令的错误: (1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI] (4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX (6) MOV BYTE PTR[BX],1000 (7) MOV AX,OFFSET [SI] (8) MOV CS,AX (9) MOV DS,BP 答案:(1) 源、目的字长不一致

(2) 源、目的不能同时为存贮器寻址方式 (3) 基址变址方式不能有 SI和DI的组合 (4) 基址变址方式不能有 BX和BP的组合

(5) 在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式

(6) 1000超出一个字节的表数范围 (7) OFFSET只用于简单变量,应去掉 (8) CS不能作为目的寄存器

(9) 段地址不能直接送入数据段寄存器 10. DATA SEGMENT TABLE_ADDR DW 1234H DATA ENDS MOV BX, TABLE_ADDR LEA BX, TABLE_ADDR 请写出上述两条指令执行后, BX寄存器中的内容。 答案:MOV BX,TABLE_ADDR ; 执行后(BX)=1234H LEA BX,TABLE_ADDR ; 执行后(BX)=OFFSET TABLE_ADDR

11. 设(DS)=1B00H, (ES)=2B00H, 有关存储器地址及其内 容如右图

所示,请用两条指令把X装入AX寄存器。 8000H 1B00:2000H

2B00H 1B00:2002H

. . X 2B00:8000H

6

答案:LES BX, [2000H] MOV AX, ES: [BX]

12. 变量DATAX和DATAY定义如下: DATAXDW 0148H DW 2316H DATAY DW 0237H DW 4052H 按下述要求写出指令序列:

(1) DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 (2) DATAX和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。 (3) DATAX和DATAY两个字数据相乘(用MUL)。 (4) DATAX和DATAY两个双字数据相乘(用MUL)。 (5) DATAX除以23(用DIV)。

(6) DATAX双字除以字DATAY(用DIV)。

答案:(1) MOV AX, DATAX ADD AX, DATAY MOV BX, DATAX+2 ADD BX, DATAY+2 MOV DATAY, AX MOV DATAY+2, BX (2) MOV AX, DATAX ADD DATAY, AX MOV AX, DATAX+2 ADC DATAY+2, AX (3) MOV AX, DATAX MUL DATAY MOV DATAY,AX MOV DATAY+2,DX (4) MOV AX,WORD PTR DATAX MOV BX,WORD PTR DATAY MUL BX MOV RESULT,AX MOV RESULT+2,DX MOV AX,WORD PTR DATAX MOV AX,WORD PTR DATAY+2 MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2 MOV BX,WORD PTR DATAY MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2 MOV BX,WORD PTR DATAY+2

7

MUL BX ADD RESULT+4,AX ADC RESULT+6,DX (5) MOV AX, DATAX MOV BL, 23 DIV BL MOV BL,AH MOV AH, 0

MOV DATAY, AX ;存放商 MOV AL,BL

MOV DATAY+2, AX ;存放余数 (6) MOV AX, DATAX MOV DX, DATAX+2 DIV DATAY MOV DATAY, AX MOV DATAY+2, DX

13. 试分析下面的程序段完成什么操作? MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 答案:

将DX: AX中的双字左移4位(乘16) 14. 用其他指令完成和下列指令一样的功能: (1) REP MOVSB (2) REP LODSB 答案:

(1) LOOP1:

MOV AL,BYTE PTR [SI] MOV ES:BYTE PTR [DI], AL INC SI 或: DEC SI INC DI 或: DEC DI LOOP LOOP1 (2) LOOP1: MOV AL, BYTE PTR [SI] INC SI 或: DEC SI LOOP LOOP1 (3) LOOP1: MOV ES:BYTE PTR [DI], AL INC DI 或: DEC DI LOOP LOOP1 (4) LOOP1: CMP AL,ES:BYTE PTR [DI] JE EXIT INC DI 或: DEC DI LOOP LOOP1 EXIT:

(3) REP STOSB 8

(4) REP SCASB

15. 编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。 答案:LEA SI, OLDS LEA DI, NEWS MOV CX, 5 CLD

REPZ CMPSB JNZ NEW_LESS

16. 假定AX和BX中的内容为带符号数, CX和DX中的内容为无符号数, 请用比较指令和条件转移指令实现以下判断: (1) 若DX的值超过CX的值,则转去执行EXCEED (2) 若BX的值大于AX的值,则转去执行EXCEED (3) CX中的值为0吗? 若是则转去执行ZERO (4) BX的值与AX的值相减, 会产生溢出吗? 若溢出则转OVERFLOW (5) 若BX的值小于AX的值,则转去执行EQ_SMA (6) 若DX的值低于CX的值,则转去执行EQ_SMA 答案:(1) CMP DX, CX JA EXCEED (2) CMP BX, AX JG EXCEED (3) CMP CX, 0 JE ZERO (4) SUB BX, AX

JO OVERFLOW (5) CMP BX, AX JL EQ_SMA (6) CMP DX, CX JB EQ_SMA

17. 假如在程序的括号中分别填入指令: (1) LOOP L20 (2) LOOPNE L20 (3) LOOPE L20 试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么? TITLE EXLOOP.COM CODESG SEGMENT ASSUME CS:CODESG, DS:CODESG. SS:CODESG ORG 100H BEGIN: MOV AX,01 MOV BX,02 MOV DX,03 MOV CX,04 L20: INC AX ADD BX,AX SHR DX,1 ( ) RET CODESG ENDS END BEGIN 答案:

9

(1)(AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0 (2)(AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1 (3)(AX)= 3 (BX)= 7 (CX)= 2 (DX)= 0

18. 变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。 答案:

MOV AX, 0 MOV AL, N1+1 SUB AL, N2+1 AAS

MOV DL, AL MOV AL, N1 SBB AL, N2 AAS

MOV DH, AL

19. 有两个3位的ASCII数串ASC1和ASC2定义如下: ASC1 DB ‘578’ ASC2 DB ‘694’ ASC3 DB ‘0000’ 请编写程序计算ASC3←ASC1+ASC2。 答案: CLC MOV CX, 3 MOV BX, 2 BACK: MOV AL, ASC1[BX] ADC AL, ASC2[BX] AAA OR ASC3[BX+1], AL DEC BX LOOP BACK RCL CX, 1 OR ASC3[BX], CL

20. 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。 (1) SBB AX,BX (2) CMP AX,WORD PTR[SI+0FA0H] (3) MUL BYTE PTR[BX] (4) AAM (5) DIV BH (6) SAR AX,CL

10

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库微机原理及应用习题库与答案(清华版第四版) - 参考(2)在线全文阅读。

微机原理及应用习题库与答案(清华版第四版) - 参考(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/393753.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219