微机原理 - 汇编语言习题(完整参考答案)

2020-05-23 15:38

MIS 硬件原理复习内容

1. 数的不同进制转换,原码、反码、补码转码,BCD码 2. 掌握D触发器逻辑

3. D触发器组成的电路:卡诺图及简化、真值表、波形图、状态转换图 4. 三态门、总线结构

5. 存储器扩展方法:地址总线的作用,内存分页技术,地址译码方法,译码器 6. 86X 系列 CPU 结构框图 7. 8086寄存器组,寻址方式 8. 指令,伪指令

9. 数据定义,完整程序结构 10. 汇编语言上机及调试过程

1. 分别指出下列指令中的源操作数和目的操作数的寻址方式:

(1) MOV SI, 200 (2) MOV CX, DATA[SI] (3) ADD AX, [BX][DI] (4) AND AX, BX (5) PUSHF

2. 指出指令 MOV AX, 2010H 和 MOV AX, DS:[2010H]的区别 3. 写出以下指令中内存操作数的所在地址

(1) MOV AL, [BX+5] (2) MOV [BP+5], 5 (3) INC BYTE PTR[SI+3] (4) MOV DL, ES:[BX+DI] (5) MOV BX, [BX+SI+2]

4. 判断下列指令书写是否正确

(1) MOV DS, 0100H (错) (2) MOV AL, BX (错) (3) MOV BL, F5H (错) (4) MOV DX, 2000H (对) (5) INC [BX] (对) (6) MOV 5, AL (错) (7) MOV [BX], [SI] (错) (8) PUSH CS (对) (9) POP CS (错)

5. 若SP=2000H, AX=3355H, BX=4466H, 试指出执行下列指令后有关寄存器的值:

(1) PUSH AX;执行后AX=? SP=? (AX=3355H SP=1FFEH) (2) PUSH AX

PUSH BX

POP DX;执行后 AX=? DX=? SP=? (AX=3355H DX=4466H SP=1FFEH)

6. 假设想从100中减去AL中的内容,用SUB 100, AL是否正确?如果不对,应用什么方法?

7. 有如下程序,当AL某位为何值时,可将程序转至AGIN2语句。 AGIN1: MOV AL, [DI] INC DI

TEST AL, 04H JE AGIN1

AGIN2: … (AL的第三位为1)

8. 编程使

(1) AX 寄存器低4位清零 (2) BX 寄存器低4位置1 (3) CX寄存器低4位求反 (4) 用TEST指令测试DL寄存器位3,位6是否同时为0,若是,将

0送DL;否则,1送DH。 9. 设AX寄存器中又一个16位二进制数,编一程序,统计AX中“1”的个数,统计结果送CX中。 10. 在下列程序的括号中分别填入如下指令:

(1) LOOP L20 (AX=4, BX=11, CX=0, DX=0) (2) LOOPE L20 (AX=2, BX=4, CX=2, DX=2) (3) LOOPNE L20 (AX=4, BX=11, CX=0, DX=0)

试说明在三种情况下,当程序执行完成后,AX, BX, CX, DX四个寄存器的内容分别是什么?

MOV AX, 01 MOV BX, 02 MOV CX, 03 MOV DX, 04

L20: INC AX

ADD BX, AX SHR DX, 1 ( ) RET

11. 假设X和X+2单元的内容为双精度数p,Y和Y+2单元的内容为q,(X和Y为低位字)试说明下列程序段做什么工作? MOV DX, X+2 MOV AX, X ADD AX, X ADC DX, X+2 CMP DX, Y+2

JL L2 JG L1

CMP AX, Y JBE L2

L1: MOV AX, 1

JMP SHORT EXIT

L2: MOV AX, 2 EXIT: INT 20H

(当2p<=q,AX=2H,当2p>q,AX=1H)

12. 判断下列指令书写是否正确。

(1) MOV AL, BX (错) (2) MOV AL, CL (对) (3) INC [BX] (对) (4) MOV 5, AL (错) (5) MOV [BX], [SI] (错) (6) MOV BL, 0F5H (对) (7) MOV DX, 2000H (对) (8) POP CS (错) (9) PUSH CS (对)

13. 设(BX)=0E3H, 变量VALUE中存放的内容为79H,确定下列各指令单独执行后bx的结果。

(1) XOR BX, VALUE (BX =9AH) (2) AND BX, VALUE (BX =61H) (3) OR BX, VALUE (BX =0FBH) (4) XOR BX, 0FFH (BX =1CH) (5) AND BX, 0 (BX =0H) (6) TEST BX, 01H (BX =0E3H) 14. 现有(DS)=2000H, (BX)=0100H, (SI)=0002H, (20100H)=12H, (20101)=34H, (20102)=56H, (20103)=78H, (21200)=2AH, (21201)=4CH, (21202)=B7H, (21203)=65H,实说明下列各条指令中源操作数的寻址方式,及各指令执行完成后AX寄存器的内容

(1) MOV AX, 1200H (立即数寻址,AX=1200H) (2) MOV AX, BX (寄存器寻址,AX=0100H) (3) MOV AX, [1200H] (直接寻址,AX=4C2AH) (4) MOV AX, [BX] (数据段基址寻址,AX=3412H) (5) MOV AX, 1100[BX] (寄存器相对寻址,AX=4C2AH) (6) MOV AX, [BX][SI] (基址加变址寻址,AX=7856H) (7) MOV AX, 1100[BX][SI](相对的基址加变址寻址,AX=

65B7H) 15. 执行下列指令后,AX寄存器中的内容是什么

TABLE DW 10, 20, 30, 40, 50

ENTRY DW 3 …

MOV BX, OFFSET TABLE ADD BX, ENTRY

MOV AX, [BX] (AX=1E00H)

16. 将内存(10050H)单元的内容拆成两段,每段4位,并将它们分别存入内存(10051)和(10052)单元。即(10050)单元中的低4位放入(10051)的低4位,(10050)单元的高4位放入(10052)的低4位,而(10051)和(10052)的高4位均为零。 设(10050)=7AH

MOV AX, 1000H MOV DS, AX MOV SI, 50H MOV AL, [SI] AND AL, OFH MOV [SI+1], AL MOV AL, [SI] MOV CL, 4 SHR AL, CL MOV [SI+2], AL

逻辑右移得高4位,存入内存(10052)单元

17. 求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放在内存(2800)单元中。 开始 初始化:清除CF

AX-BX AX

AX-BX>=0

再取出原始数 AL 用间址方法取数 AL 初始化 开始 用逻辑与指令取得低4位,存入(10051)单元 AX 内存(2800)和(2801)单元 BX-AX BX BX 内存(2800)和(2801)单元

CLC

SUB AX, BX JC AA

MOV DI, 2800H MOV [DI], AX HLT

SUB BX, AX MOV DI, 2800H MOV [DI], BX HLT

AA:

18.编写程序,从内存(2071H)中取一个数M,判断其值是否在10和20之间。如果M>=20,则送0FF H给(2073H) ;如果M <10,则送00H给(2073H);如果10<=M <20,则送88H给(2073H)。 开始

(2071H) (AL)

AL>=0 LP1 是

BL=0 否 AL>=20 LP2 是 BL=88H

BL=0FFH

LP3

AL 内存(2073)

暂停

START: MOV AL, (2071H)

CLC

CMP AL, 10 JC LP1


微机原理 - 汇编语言习题(完整参考答案).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实验心理学试卷及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: