微机课后习题答案(3)

2020-04-14 01:38

17. 哪个标志位控制CPU 的INTR 引脚?

答:IF,中断允许标志,IF=1 时,允许可屏蔽中断,IF=0 时,禁止可屏蔽中断。

18. 什么叫总线周期?在CPU 读/写总线周期中,数据在哪个机器状态出现在数据总线上?

答:CPU 完成一次存储器访问或I/O 端口操作所需要的时间称为一个总线周期,由几个T

状态组成。在读/写总线周期中,数据在T2~T4 状态出现在数据总线上。

19. 8284 时钟发生器共给出哪几个时钟信号?

答:OSC:振荡器输出信号,是内部振荡电路的TTL 电平输出,其频率与晶振的频率相等, 在PC/XT 中,其频率为14.318MHz

CLK:三分频OSC 后的时钟,输出频率为4.77MHz,占空比为1/3,供8086CPU 使用。 PCLK:二分频CLK 后的时钟,输出频率为2.38636MHz,TTL 电平,占空比为1/2,

供PC/XT 机的外设使用。

20. 8086CPU 重新启动后,从何处开始执行指令?

答:重新启动后,CS=FFFFH,IP=0000H,故从物理地址为FFFF0H 的位置开始执行指令。

21. 8086CPU 的最小模式系统配置包括哪几部分? 答:8086 最小模式系统配置包括:

8086CPU,存储器,I/O 接口芯片,1 片8284 时钟发生器,3 片8282 地址锁存器,2 片 8286 双向数据总线收发器。 第三章

1. 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。

(1)MOV AX,2408H (2)MOV CL,0FFH (3)MOV BX,[SI]

(4)MOV 5[BX],BL (5)MOV [BP+100H],AX (6)MOV [BX+DI],?$?

(7)MOV DX,ES:[BX+SI] (8)MOV VAL[BP+DI],DX (9)IN AL,05H (10)MOV DS,AX 答:(1)立即数,寄存器 (2)立即数,寄存器 (3)寄存器间接,寄存器

(4)寄存器,寄存器相对 (5)寄存器,寄存器相对 (6)立即数,基址变址

(7)基址变址,寄存器 (8)寄存器,相对基址变址 (9)直接端口寻址,寄存器 (10)寄存器,寄存器

2. 已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H 单元的内容分别为10H,

2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX 寄

存器的内容各是什么? (1)MOV AX,0200H (2)MOV AX,[200H] (3)MOV AX,BX

(4)MOV AX,3[BX] (5)MOV AX,[BX+SI] (6)MOV AX,2[BX+SI] 答:(1)0200H (2)2A10H (3)0200H (4)5946H (5)463CH (6)6B59H

3. 设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,

数据段中变量名为VAL 的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什 么?物理地址值是多少?

(1)MOV AX,[100H] (2)MOV AX,VAL (3)MOV AX,[BX] (4)MOV AX,ES:[BX] (5)MOV AX,[SI] (6)MOV AX,[BX+10H]

(7)MOV AX,[BP] (8)MOV AX,VAL[BP][SI]

(9)MOV AX,VAL[BX][DI] (10)MOV AX,[BP][DI] 答:(1)直接,10100H (2)直接,10030H (3)寄存器间接,10100H

(4)寄存器间接,20100H (5)寄存器间接,100A0H (6)寄存器相对,10110H

(7)寄存器间接,35200H (8)相对基址变址,352D0H (9)相对基址变址,10154H (10)基址变址,35224H 4. 写出下列指令的机器码 (1)MOV AL,CL (2)MOV DX,CX (3)MOV [BX+100H],3150H 答:(1)10001010 11000001B (2)10001011 11010001B

(3)11000111 10000111 00000000 00000001 01010000 00110001B

5. 已知程序的数据段为: DATA SEGMENT A DB ?$?,10H

B DB ?COMPUTER? C DW 1234H, 0FFH D DB 5 DUP(?) E DD 1200459AH DATA ENDS

求下列程序段执行后的结果是什么。 MOV AL, A MOV DX, C XCHG DL, A

MOV BX, OFFSET B

MOV CX, 3[BX] LEA BX, D LDS SI, E LES DI, E

答:MOV AL, A AL=24H MOV DX, C DX=1234H

XCHG DL, A DL=24H, A=34H MOV BX, OFFSET B BX=2 MOV CX, 3[BX] CX=5550H LEA BX, D BX=000EH

LDS SI, E DS=1200H, SI=459AH LES DI, E ES=1200H, DI=459AH

6. 指出下列指令中哪些是错误的,错在什么地方。

(1)MOV DL,AX (2)MOV 8650H,AX (3)MOV DS,0200H

(4)MOV [BX],[1200H] (5)MOV IP,0FFH (6)MOV [BX+SI+3],IP

(7)MOV AX,[BX][BP] (8)MOV AL,ES:[BP] (9)MOV DL,[SI][DI]

(10)MOV AX,OFFSET 0A20H (11)MOV AL,OFFSET TABLE

(12)XCHG AL,50H (13)IN BL,05H (14)OUT AL,0FFEH 答:(1)长度不匹配 (2)立即数不能做目的操作数

(3)段寄存器不能用立即数赋值 (4)两个内存单元不能直接传送数据

(5)IP 不能用指令直接修改 (6)指令中不能出现 IP (7)BX/BP 应与 SI/DI 搭配 (8)正确

(9)SI/DI 应与 BX/BP 搭配 (10)OFFSET 后应跟内存单元

(11)偏移地址为16 位,AL 长度不够 (12)立即数不能用于XCHG (13)IN 必须用 AL/AX (14)操作数顺序反向;地址应为 8 位

7. 已知当前数据段中有一个十进制数字0~9 的7 段代码表,其数值依次为40H,79H,24H,

30H,19H,12H,02H,78H,00H,18H。要求用XLAT 指令将十进制数57 转换成相应的

7 段代码值,存到BX 寄存器中,试写出相应的程序段。 答: DATA SEGMENT

TABLE DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H DATA ENDS ……

MOV AL,5

MOV BX,OFFSET TABLE XLAT TABLE MOV CL,AL MOV AL,7 XLAT TABLE MOV BL,AL MOV BH,CL

8. 已知当前SS=1050H,SP=0100H,AX=4860H,BX=1287H,试用示意图表示执行下列指

令过程中,堆栈中的内容和堆栈指针SP 是怎样变化的。 PUSH AX PUSH BX POP BX POP AX 答:(1)指令执行前 (2)执行PUSH AX 后 …… 10500H

(3)执行PUSH BX 后 (4)执行POP BX 后 (5)执行POP AX 后 …… 87H 12H 60H 48H

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

(1)ADD AL,DH (2)ADC BX,CX (3)SUB AX,2710H (4)DEC BX (5)NEG CX (6)INC BL (7)MUL BX (8)DIV CL 答:(1)AL+DH→AL (2)BX+CX+CF→BX (3)AX-2710H→AX

(4)BX-1→BX (5)0-CX→CX (6)BL+1→BL

(7)AX*BX→DX,AX (8)AX/CL 商→AL,余数→AH 10. 已知AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下列每条指令执行后的结果 是什么?标志位CF 等于什么?

(1)AND AH,CL (2)OR BL,30H (3)NOT AX SP-> SP-> 10500H …… 60H 48H SP->

……

10500H 10500H …… 48H 60H 12H 87H SP-> 48H 60H 12H 87H 10500H SP->

(4)XOR CX,0FFF0H (5)TEST DH,0FH (6)CMP CX,00H

(7)SHR DX,CL (8)SAR AL,1 (9)SHL BH,CL (10)SAL AX,1 (11)RCL BX,1 (12)ROR DX,CL 答:(1)AX=0408H,CF=0 (2)BX=0F36H,CF=0 (3)AX=0DAF7H,CF 不变 (4)CX=0FFF4H,CF=0 (5)DX=01864H,CF=0 (6)CX=0004H,CF=0 (7)DX=0186H,CF=0 (8)AX=2504H,CF=0 (9)BX=0F036H,CF=0 (10)AX=4A10H,CF=0

(11)BX=1E6C/1E6DH,CF=0 (12)DX=4186H,CF=0 11. 假设数据段定义如下: DATA SEGMENT

STRING DB ?The Personal Computer & TV? DATA ENDS

试用字符串操作等指令编程完成以下功能:

(1)把该字符串传送到附加段中偏移量为GET_CHAR 开始的内存单元中。

(2)比较该字符串是否与?The Computer?相同,若相同则将AL 寄存器的内容置1,否则置

0。并要求将比较次数送到BL 寄存器中。

(3)检查该字符串是否有?&?,若有则用空格字符将其替换。(4)把字符串大写字母传送到附加段中以CAPS 开始的单元中,其余字符传到以CHART

开始的单元中。然后将数据段中存储上述字符串的单元清0。答:(1) CLD LEA SI,STRING LEA DI,GET_CHAR MOV CX,26 REP MOVSB

(2)补充在附加段定义


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

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

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

马上注册会员

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