(完整word版)东北大学微机原理考试复习题 下载本文

答:I/O端口的编址方式有两种:I/O端口和存储器统一编址,I/O端口独立编址。 Intel 8086就是采用的独立编址方式,访问存储器用MOV指令,而输入输出则使用专用的I/O指令:从I/O端口输入用IN,向端口输出用OUT。 13. 逻辑地址与物理地址是如何定义的?差别在那里?

答:逻辑地址是由段基址和段内偏移地址组成的地址。段基址和段内偏移地址都是16位的无符号二进制数,在程序设计时使用。

物理地址:存储器的绝对地址(20位的实际地址),范围从00000H~FFFFFH , 是由CPU访问存储器时由地址总线发出的地址。

每个存储单元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址组成,即逻辑地址可以不同。

14. 8086指令队列的作用是什么?

答:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。

15. 什么是中断向量?中断向量表是什么?非屏蔽中断的类型为多少?8086中断系统优先

级顺序怎样?

答:①所谓中断响量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断响量

②中断向量按照中断类型的顺序在内存0段0单元开始有规则排列的一张表③类型02H ④内部中断>非屏蔽中断>可屏蔽中断>单步中断 16. 8259有几种中断结束方式?应用场合如何?

答:1.中断自动结束方式,不需要设置中断结束命令,在单片系统中且不会出现中断嵌套时用。2.一般中断结束方式,在全嵌套方式下用。3.特殊中断结束方式,在任何场合均可使用。

17. 在一个8086CPU和单片8259A组成的系统中,试说明:

(1)8086CPU在响应可屏蔽中断的条件是什么?

(2)8086CPU在响应中断过程中,连续执行两个INTA周期,其作用是? (3)假如8259A已被编程,ICW2=0AH,若连接在8259A的IR3端的外设提出中断申请,它的中断向量的存放地址是什么?

答: (1)8086/8088在当前指令执行完且IF=1的情况下可以响应一个外部INTR中断请求。 (2)8086/8088响应INTR中断请求时,首先在连续的两个总线周期中发出INTA#负脉冲,在第二个INTA#信号期间,中断源经数据总线向8088/8088进出一字节中断向量“类型码”。

(3)0段 4C 4D 4E 4F

18. 在中断响应期间8086发出什么信号?起什么作用?(5分)

答:在中断响应期间8086发出中断响应信号。INTA信号实际上是位于连续周期中的两个负脉冲,第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口

收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU便得到了有关此中断请求的详尽信息。

19. 串行通信与并行通信的主要区别是什么?各有什么优缺点?

答:并行通信:数据的各位同时传送,此方式传输数据的速度快,但使用通信线多,若要并行传送8位数据,需要8根数据线,另外还需一些控制信号线,成本高,不适合于远距离传送数据的场合。 串行通信:将要传送的数据或信息按一定的格式编码,然后在单根线上按一位接一位的先后顺序进行传送。所需线路少,成本低,适合于远距离通信。 20. 总共用三条不同指令,各自完成BX=0操作。

答:1.、XOR BX, BX 2、AND BX, 0 3、 SUB BX, BX 4、 MOV BX, 0 21. 在中断响应期间8086发出什么信号?起什么作用?

答:在中断响应期间8086发出中断响应信号。INTA信号实际上是位于连续周期中的两个负脉冲,第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU便得到了有关此中断请求的详尽信息。

22. 8086CPU响应可屏蔽中断的条件是什么?

答:①在现行指令周期内无总线请求; ②中断允许标志IF=1;

③现行指令执行完毕

23. 具有中断屏蔽的接口电路中的“屏蔽”同“屏蔽中断”中的“屏蔽”是否一回事,若不是,有何

区别

答:不是一回事。具有中断屏蔽的接口电路中的“屏蔽”是指通过对接口电路中屏蔽寄存器的设置,可以使相对应的中断源的一位或若干位被屏蔽;而“屏蔽”中断中的屏蔽是指通过对可屏蔽中断允许位的设置可以屏蔽所有的可屏蔽中断。

四、程序分析题

1. 下列指令中那些是错误的,并指出错误原因

ADD AX,10 对 MOV [AX+2] ,BX 错

SUB [AX],15 错 OUT AL,0FFEH 错

MOV [BX],BX 对 MOV [SI+DI],DX 对

MOV ES:[DX],BX 错 MOV 3500H,AX 错

MOV ES:[SI],BX 对 PUCH CS 对 2. 在什么情况下,本程序段的执行结果是AH=0?

BEGIN: IN AL , 5FH TEST AL , 80H JZ BRCH1 MOV AH , 0 JMP STOP BRCH1: MOV AH , 0FF STOP : HLT

答:从端口5FH输入的数据的最高位为1。 3. 读下面程序,指出程序完成什么功能?

MODEL SMALL .DATA

BUF DB ‘ABCDEFGHIJ’ .CODE .STARTUP MOV SI,0 MOV CX,10 MOV AL,20H NEXT: ADD BUF[SI],AL INC SI

LOOP NEXT .EXIT END

答:将字符串ABCDEFGHIJ变成小写字母字符串abcdefghij 4. 判断下列程序所实现的功能。

.MODEL SMALL .DATA

BLOCK DB 60, 90, 0, 50, …… MAX DB ? MIN DB ?

.CODE .STARTUP MOV CX,9

MOV AL, BLOCK MOV DL,BLOCK

MOV BX, OFFSET BLOCK

AGAIN: INC BX

CMP AL, [BX] JAE NEXT1 MOV AL, [BX]

NEXT1: CMP DL, [BX] JBE NEXT2 MOV DL, [BX]

NEXT2; LOOP AGAIN MOV MAX, AL MOV MIN, DL

.EXIT END

答:在10各无符号数字节数据中寻找最大数和最小数,并将最大数存入MAX、最小数存入MIN中。

5. MOV AL, 2 SAL AL ,1 MOV BL ,AL MOV CL ,2 SAL AL ,CL ADD AL ,BL

则上面程序执行后,AL中为多少? 答:20

6. 已知(DS)=1234H, (SI)=124H, (12464H)=30ABH, (12484H)=464H

LEA SI , [SI] MOV AX , [SI] MOV [SI+22H] , 1200H LDS SI , [SI+20H] ADD AX , [SI]

答:上述程序执行后(DS)=1200H , (SI)= 464H ,(AX)=6156H 7. CMP AX, BX JGE NEXT XCHG AX,BX NEXT: CMP AX,CX JGE DONE XCHG AX,CX

DONE: …

试回答:

(1)上述程序段执行后,原有AX,BX,CX中最大数存放在哪个寄存器中?答:AX (2)这三个数是有符号数还是无符号数?答:有符号数 8. A DW 1234H B DW 5678H …