微机原理与接口技术周荷琴课后习题答案.

JBE NEXT2

NEXT: STOSB

NEXT2:LOOP AGAIN2 ;将STRING字符串清零

LEA DI,STRING MOV AL,0

MOV CX,COUNT CLD

REP STOSB RET

MAIN ENDP CODE ENDS END MAIN

13、完整的程序如下: CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR

PUSH DS XOR AX,AX PUSH AX

XOR SI,SI ;SI中存放DX中1的个数 XOR DX,DX MOV AX,1234H MOV CX,16

AGAIN:ROR AX,1

JNC NEXT INC SI PUSH CX DEC CL MOV BX,1 SHL BX,CL OR DX,BX POP CX

NEXT: LOOP AGAIN

RET

MAIN ENDP CODE ENDS END MAIN

程序的运行结果:AX=1234H DX=2C48H SI=0005H,结果正确 14、参考答案: 指令 (1)JMP PROG_N (2)JMP BX (3)JMP [BX] 跳转类型 段内直接跳转 段内间接跳转 段内间接跳转 程序的转向* IP=0278H IP=(BX)=0300H IP=((DS)×16+(BX))=(20300H)=4800H (4)JMP FAR PROG_F (5)JMP DWORD PTR [BX] 段间直接跳转 段间间接跳转 IP=0ABCH CS=3400H IP=(20300H)=4800H CS=(20302H)=00FFH *如果是段内转移,跳转指令只改变IP寄存器的内容,前三条跳转指令是段内跳转;如果是段间跳转,跳转指令同时改变IP和CS寄存器的内容,后两条跳转指令是段间跳转。 15、参考答案: 寄存器 AX BX CX DX LOOP NEXT 2 3 4 5 4 7 11 16 3 2 1 0 1 0 0 0 LOOPE NEXT 2 4 3 1 LOOPNE NEXT 2 3 4 7 3 2 1 0 注意:三个循环指令LOOP、LOOPE和LOOPNE终止循环的条件是不一样的。 16、参考答案: 中断向量表的作用:中断向量表用于存放256种中断的中断服务程序的入口地址,每种类型中断的中断服务程序的入口地址占用4个字节,存储CS和IP,总共需要1024个字节,即1K字节。

中断向量表位于内存的最低1K字节,地址范围为:00000H~003FFH。

类型3的中断的中断服务程序的入口地址存放在:0000CH~0000FH这四个单元。 17、参考答案:如下图所示

解释:①由于中断类型号为2,所以该类型中断的中断服务程序入口地址占据内存最低1K字节的2×4,2×4+1,2×4+2,2×4+3四个单元。②前两个单元存放中断服务程序IP值,即0016H,后两个单元存放中断服务程序的CS值,即

0485H。③由于CS和IP值均为一个字,所以在存放中断服务程序入口地址的CS和IP值时,低位字节存放在低地址区,高位字节存放在高地址区。

18、参考答案:

(1)中断类型号为16

(2)该中断服务程序的起始地址是:CS:IP=D169H:240BH

解释:①由于中断向量表中地址为0040H开始存放某类型中断的中断服务程序的入口地址,所以0040H除以4就可以得到该类型中断的中断类型号n,即n=16。②中断服务程序的入口地址的CS值存放在0042H单元里,IP值存放在0040H单元里。 19、参考答案: 中断类型号(专用中断) 0:被0除 1:单步中断,由Debug单步调试引起 2:NMI 响应中断的条件 当除数为0或商超过了寄存器所能表示的范围,就产生了一个类型为0的中断 当TF=1,每条指令执行后,CPU

>>閻忕偞娲栫槐鎴﹀礂閵婏附鐎�<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4