微机原理与接口第二版(陈红卫版)参考答案及复习纲要 下载本文

10.请写出时钟周期、总线周期与指令周期的含义。

答:时钟周期是CPU的基本时间计量单位,即计算机主频的倒数。

总线周期是指CPU通过总线对存储器或I/O端口进行一次访问(读/写操作)所需

的时间;一个总线周期至少包含4个时钟周期,即T1、T2、T3、T4。

指令周期是指计算机完成一条指令的执行所需要的时间。

11.在总线周期的T1、T2、T3和T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态TW?TW插入的位置?

答:在T1状态,BIU把要访问的存储器单元或I/O端口的地址输出到总线。

在T2状态,地址/数据复用总线停止输出地址信号。若是读周期,T2中地址/数据复用总线处于高阻状态,CPU有足够的时间使其从输出方式变为输入方式;若为写周期,CPU不必转变输出方式。

在T3~T4状态,CPU与存储器或I/O接口进行数据传送。CPU若与慢速的存储器或I/O端口之间的数据传送,READY信号在T3状态时仍为低电平,则在T3之后插入等待状态TW,加入TW的个数由外设的速度与CPU速度匹配决定。

12.8088 CPU 工作在最小模式下,请回答以下问题: (1)CPU访问存储器时,需要哪些信号? (2)CPU访问I/O接口时,需要哪些信号?

(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻状态?

答:(1)利用A15~ A8,AD7~AD0,ALE,WR,RD,DT/R,DEN,IO/M。 (2)利用A15~ A8,AD7~AD0,ALE,WR,RD,DT/R,DEN,IO/M。 (3)当HOLD有效并得到响应时,CPU中呈高阻状态的信号有:A15~ A8,AD7~AD0,

ALE,WR,RD,DT/R,DEN,IO/M。

第三章

1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令。 (1) 将立即数1234H送入寄存器BX; (2) 将立即数1234H送入段寄存器DS;

(3) 将变址寄存器DI的内容送入数据段中2000H的存储单元; (4) 把数据段中2000H存储单元的内容送段寄存器ES; (5) 将立即数0ABH与AL相加,结果送回AL; (6) 把BX与CX寄存器内容相加,结果送入BX;

(7) 寄存器BX中的低4位内容保持不变,其它位按位取反,结果仍在BX中; (8) 实现AX与8位数-128的乘积运算; (9) 实现CX中高、低8位内容的交换;

(10) 将DX中D0、D5、D8位置1,其余位保持不变。 解: (1) MOV BX, 1234H

(2) MOV AX, 1234H

MOV DS, AX (3) MOV [2000H], DI (4) MOV ES,[2000H] (5) ADD AL,0ABH (6) ADD BX,CX (7) XOR BX,0FFF0H (8) MOV BL,80H IMUL BL

(9) XCHG CH,CL (10) OR DX,0121H

2.顺序执行下列指令,填写指令后的空格。

MOV AX,2000H ;AH= 20H MOV DS,AX ;AL= 00H ;DS= 2000H MOV BX,2030H ;BH= 20H ;BL= 30H MOV SI,BX ;SI= 2030H PUSH BX

POP CX ;BX= 2030H ;CX= 2030H XCHG AX,SI ;AX= 2030H ;SI= 2000H ADD AX,0F43H ;AX= 2F73H ;CF= 0 CWD ;AX= 2F73H ;DX= 0000H SHL AL,CL ;AL= 00H ;CL= 30H OR AX,5555H ;AX= 7F55H AND AX,0AA55H ;AX= 2A55H MOV BL,0FFH

MUL BL ;AX= 54ABH IMUL BL ;AX= 0055H 3.指出下列各条指令中源操作数字段的寻址方式。 (1) MOV AX,0ABH ;立即寻址方式 (2) MOV AX,BX ;寄存器寻址方式

(3) MOV AX,[1234H] ;直接寻址方式 (4) MOV AX,[BX] ;寄存器间接寻址方式 (5) MOV AX,[BX+10] ;寄存器相对寻址方式 (6) MOV AX,[BX][SI] ;基址变址寻址方式 (7) MOV AX,03H[BX][SI] ;相对基址变址寻址方式 (8) ADD BX,[SI] ;寄存器间接寻址方式 (9) AND AX,1234H ;立即寻址方式 (10)XOR CX,AX ;寄存器寻址方式

4.如果TABEL为数据段中0032H单元的符号名,其中存放的内容为1234H,填写下列指令执行后空格中的内容。

MOV AX,TABEL ;AX= 1234H LEA AX,TABEL ;AX= 0032H

5.画出执行下列指令过程中堆栈区和SP的内容变化过程示意图,并标出存储单元的物理地址。

MOV AX,1000H MOV SS,AX

MOV SP,0100H;① MOV BX,SP

PUSH AX ;② PUSH BX ;③ POP CX ;④ HLT 解:

③ 00H

01H

最后指令位置 00H ② ④

10H ①

6.标出下列指令的执行顺序。 (1) MOV AX,1234H (2) CMP AX,8234H (3) JC NEXT1 (4) CBW

(5)NEXT1:MOV BX,9876H (6) CMP BX,AX (7) JB NEXT2 (8) SHR AX,1 (9)NEXT2:AND BX,1010H

100FCH

100FEH

10100H

(10) HLT

解:指令的执行顺序:

(1)→(2)→(3)→(5)→(6)→(7)→(8)→(9)→(10)。

7.指令REP MOVSB,REP LODSB,REP STOSB及REPE SCASB中,哪一条能替代以下程序段。

ABC:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI

LOOP ABC 解:指令REP MOVSB能替代上述程序段。 8.顺序执行下列各条指令,填写空格。

MOV BX,6534H ;BX= 6534H XOR BX,0FFFFH ;BX= 9ACBH AND BX,15A0H ;BX= 1080H OR BX,2379H ;BX= 33F9H TEST BX,0002H ;BX= 33F9H 9.试写出执行下列3条指令后BX寄存器的内容。

MOV CL,21H MOV BX,6D16H SHR BX,CL

解:BX=0000H

10.试分析以下程序段所完成的功能。

MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL

解:程序段完成由DX和AX共同组成的32位数向左移动4位。

11.假定AX和BX中内容为有符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:

(1)若DX的内容超过CX的内容,则转去执行EXCEED; (2)若BX的内容大于AX的内容,则转去执行EXCEED; (3)BX的内容大于等于AX的内容,则转去执行EXCEED; (4)若CX的内容等于0,则转去执行ZERO; (5)若BX与AX的内容相等,则转去执行EQ;

(6)若BX的内容小于等于AX的内容,则转去执行EQSMA; (7)若CX的内容等于5678H,则转去执行EQ;

(8)若DX的内容低于CX的内容,则转去执行EQSM; (9)若AX的内容为正,则转去执行ABC; (10)若AX的内容为负,则转去执行ABC1。 解:(1) CMP DX,CX

JA EXCEED