当前位置:问答库>考研试题

2017年南京大学1503微机原理与接口技术复试实战预测五套卷

  摘要

一、解答题

1. 若CPU 中各寄存器及RAM 参数如图所示,试求独立执行如下指令后寄存器与内存单元的内容。

(1)MOV DX, [BX]2;DX=_____; BX=_____。

(2)PUSH DX; SP=_____; [SP]= _____。

(3)MOV CX, BX ;CX=_____, BX=_____。

(4)TEST AX, 01;AX=_____, CF=_____。

(5)MOV AL, [SI]; AL=_____。

(6)ADC AL, [DI];AL=_____, CF=_____。

DAA ;AL=_____。

(7)INC SI;SI=_____。

(8)MOV[DI], AL ;[DI]= _____。

(9)XORAH , BL ;AH=,BL=_____。

(10)JMPDX ;IP=_____。

【答案】(1)DX=0006H,BX=0004H。

(2)SP :OFFFEH , [SP]=C6H。压栈指令执行过程是先将SP —2, 再将操作数压进SP 所指栈项中。

(3)CX=0004H, BX=0004H。

(4)AX=8094H, CF=0。除NOT 指令不影响标志外,逻辑运算指令均使CF=OF=0, 影响标志位SF , ZF , PFO

(5)AL=87H。

(6)AL=0CBH, CF=0, ADC 指令进行加法运算必须加CF 值。AL=31H, 由于AL 高低4位均

大于9,故进行BCD 码66修正。

(7)SI=0009H。

(8)[DI]=94H。

(9)AH=84H,BL=04H。

(10)IP=17C6H。

2. 试说明80386微处理器中段寄存器作用。

【答案】80386微处理器中共有6个段寄存器,它们均是16位的,其DS ,CS , SS 分别作为数据段、代码段和堆栈段指针,ES 和新增加的FS ,GS 作为附加数据段寄存器。DS 和ES 在字符串处理中分别作为源和目标的段寄存器。

在实模式下,段寄存器的作用与8086相同。

在保护模式下,段寄存器存放描述符的选择符(故又称选择器),与之相对应的尚有64位的不可见的段描述符高速缓冲存储器。

虚拟8086方式1,段寄存器作用与8086相同。

3. 试述A/D转换器与微处理器数据交换的方法。

【答案】有3种:①程序查询方式;②中断方式;③定时等待方式。其中①,②与转换结束信号密切相关。

4. 若(BX )=0158H、(DI )=10A5H、位移量=1B57H、(DS )=2100H、(SS )=1100H、(BP )=0100H,段寄存器按默认段寄存器。请写出传送指令(目的操作数都是AX ,源操作数采用下列寻址方式),并写出各种寻址方式下的源操作数的有效地址和物理地址。

(1)直接寻址;

(2)寄存器间接寻址(假设寄存器为BX );

(3)基址寻址(假设寄存器为BP );

(4)基址变址寻址(假设寄存器为BX 和DI );

(5)基址变址相对寻址(假设寄存器为BP 和DI )。

【答案】(1)直接寻址

EA=1B57H

PA=DS×l0H+EA=21000H+1857H=22B57H

(2)寄存器间接寻址(假设寄存器为BX )

EA=(BX )=0158H

PA=DS×l0H+EA=21000H+0158H=21158H

(3)基址寻址(假设寄存器为BP )

EA=(BP )+IB57H=0100H+lB57H=lC57H

PA=SS×lOH+EA=11000H+1C57H=12C57H

(4)基址变址寻址(假设寄存器为BX 和DI )

EA=(BX )+(DI )=0158H+105AH=11FDH

PA=DS×l0H+EA=21000H+llFDH=221FDH

(5)基址变址相对寻址(假设寄存器为BP 和DI )

EA=(BP )+(DI )+1B57H=0100H+10A5H+1B57H=2CFCH

PA=SS×1OH+EA=11000H+2CFCH=13CFCH

5. 消除键盘机械抖动可采取和等两种方式。

【答案】硬件滤波、软件延时。

6. 为什么需要半加器和全加器?它们之间的主要区别是什么?

【答案】(1)计算两个数据相加时,个位相加的运算采用半加器相加,其他位数相加使用全加器相加。

(2)半加器是指不考虑低位有无向本位的进位,只将两个本位数相加的运算;全加器是指不仅要将两个本位数相加,还要将低位向本位的进位一起相加的运算。

二、编程题

7 编写程序将某字节存储区中的10个未压缩的BCD 数以相反的顺序送到另一个字节存储区中,.

并将这两 个存储区中的数字串分两行显示出来。

【答案】

STACK SEGMENT STACK‘

STACK'

STACK ENDS

DATA SEGMENT

BUFF DB 00H,01H ,02H ,03H ,04H ,05H ,06H ,07H ,08H ,09H

RES DB 10 DUP(O )

OUT1 DB 10 DUP(0),0AH ,0DH ,‘$'

OUT2 DB 10 DUP(0),‘$'

DATA ENDS

CODE SEGMENT

START PROC FAR