微机课后习题答案(4)

2020-04-14 01:38

STRING1 DB ?The computer? MOV AL,1 CLD

LEA SI,STRING LEA DI,STRING1 MOV CX,12 REPZ CMPSB JZ SKIP MOV AL,0

SKIP: MOV BX,12 SUB BX,CX

(3) MOV AX, DATA MOV ES, AX CLD

MOV AL,'&' LEA DI,STRING MOV CX,26

NEXT: REPNE SCASB JZ FIND JMP EXIT

FIND: MOV BYTE PTR [DI-1], ' ' JCXZ EXIT JMP NEXT EXIT:

(4) LEA SI,STRING LEA DI,CAPS LEA BX,CHART MOV CX,26

NEXT: MOV AL, [SI] CMP AL,?A? JB OTHER CMP AL,?Z? JA OTHER

MOV ES:[DI],AL INC DI JMP SKIP

OTHER: MOV ES:[BX],AL INC BX

SKIP: MOV BYTE PTR[SI],0 INC SI

LOOP NEXT

12. 编程将AX 寄存器中的内容以相反的顺序传送到DX 寄存器中,并要求AX 中的内容不

被破坏,然后统计DX 寄存器中?1?的个数是多少。

答:: MOV BL,0 PUSH AX MOV DX,0 MOV CX,16

NEXT: SHL AX,1 JNC SKIP INC BL

SKIP: RCR DX,1 LOOP NEXT STOP: POP AX

13. 设CS=1200H,IP=0100H,SS=5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H, (20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N 标号的地址为1200:

0278H,PROG_F 标号的地址为3400H:0ABCH。说明下列每条指令执行完后,程序将分别 转移到何处执行? (1)JMP PROG_N (2)JMP BX (3)JMP [BX]

(4)JMP FAR PROG_F

(5)JMP DWORD PTR [BX]

如将上述指令中的操作码JMP 改成CALL,则每条指令执行完后,程序转向何处执行?并

请画图说明堆栈中的内容和堆栈指针如何变化。 答:(1)1200H:0278H (2)1200H:0300H (3)1200H:4800H (4)3400H:0ABCH (5)00FFH:4800H

将操作码JMP 改成CALL 后: (1)1200H:0278H

指令长度为3,则IP=0100H+3=0103H,入栈 …… 03H 01H

5000H:0000H 5000H:03FEH 5000H:0400H 􀃅SP

(2)1200H:0300H

指令长度为2,则IP=0100H+2=0102H,入栈 …… 02H

01H

(3)1200H:4800H

指令长度为2,则IP=0100H+2=0102H,入栈 …… 02H 01H

(4)3400H:0ABCH

指令长度为5,则IP=0100H+5=0105H,入栈 …… 05H 01H 00H 12H

(5)00FFH:4800H

指令长度为2,则IP=0100H+2=0102H,入栈 5000H:0000H 5000H:03FEH 5000H:0400H 􀃅SP 5000H:0000H 5000H:03FEH 5000H:0400H 􀃅SP 5000H:0000H

5000H:03FCH 􀃅SP 5000H:03FEH 5000H:0400H …… 02H 01H 00H 12H

14. 在下列程序段括号中分别填入以下指令 (1)LOOP NEXT (2) LOOPE NEXT (3) LOOPNE NEXT 试说明在这三种情况下,程序段执行完后,AX,BX,CX,DX 的内容分别是什么。 START: MOV AX,01H MOV BX,02H MOV DX,03H MOV CX,04H NEXT: INC AX ADD BX,AX SHR DX,1 ( )

答:(1) AX=05H BX=10H CX=0 DX=0 (2) AX=02H BX=04H CX=03H DX=01H (3) AX=03H BX=07H CX=02H DX=0

15. 某班有7 个同学英语成绩低于80 分,分数存在ARRAY 数组中,试编程完成以下工作:

(1)给每人加 5 分,结果存到 NEW 数组中 (2)把总分存到SUM 单元中 答: DATA SEGMENT

ARRAY DB ?,?,?,?,?,?,? NEW DB 7 DUP(?) SUM DW 0 DATA ENDS

MOV AX,DATA MOV DS, AX

(1) LEA SI,ARRAY LEA DI,NEW MOV CX,7

NEXT: MOV AL,[SI] ADD AL, 5 MOV [DI], AL INC SI INC DI

LOOP NEXT

(2) LEA SI,ARRAY CLC

􀃅SP 5000H:0000H 5000H:03FCH 5000H:03FEH 5000H:0400H MOV CX, 7

NEXT1:MOV AL,[SI] MOV AH, 0 ADC SUM, AX INC SI

LOOP NEXT1

16. 中断向量表的作用是什么?它放在内存的什么区域内?中断向量表中的什么地址用于 类型3 的中断?

答:中断向量表用来存放中断服务程序的入口地址。8086 的256 类中断的入口地址要占用

1K 字节,位于内存00000H~003FFH 的区域内。中断向量表中0000CH~0000FH 用于类型 3 的中断。

17. 设类型2 的中断服务程序的起始地址为0485:0016H,它在中断向量表中如何存放? 答:物理地址 内容 00008H 16H 00009H 00H 0000AH 85H 0000BH 04H

18. 若中断向量表中地址为0040H 中存放240BH,0042H 单元里存放的是D169H,试问:

(1)这些单元对应的中断类型是什么? (2)该中断服务程序的起始地址是什么? 答:(1)10H

(2)D169H:240BH

19. 简要说明8086 响应类型0~4 中断的条件是什么? 答:类型0:除法错中断

执行除法指令时,若除数为0 或所得商超过寄存器能容纳的范围,则自动产生类型0 中断。

类型1:单步中断

若CPU 的单步标志TF=1,则每执行完一条指令后,自动产生类型1 中断。

类型2:不可屏蔽中断NMI

当8086 的NMI 引脚上接收到由低变高的电平变化时,将自动产生类型2 中断。 类型3:断点中断

若在程序中某位置设置断点,当程序执行到该断点时,则产生类型3 中断。 类型4:溢出中断 若溢出标志OF=1,则可由溢出中断指令INTO 产生类型4 中断。 第四章

1. 下列变量各占多少字节? A1 DW 23H,5876H A2 DB 3 DUP(?),0AH,0DH, ?$? A3 DD 5 DUP(1234H, 567890H) A4 DB 4 DUP(3 DUP(1, 2,?ABC?)) 答:A1 占4 个字节 A2 占6 个字节 A3 占40 个字节 A4 占60 个字节

2. 下列指令完成什么功能?

MOV AX,00FFH AND 1122H+3344H MOV AL,15 GE 1111B

MOV AX,00FFH LE 255+6/5


微机课后习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2018学年浙江省湖州市南浔区九年级(上)期末数学试卷-普通

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

马上注册会员

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