接口与程序设计作业答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题1(教材P56)

1.8086/8088 微处理器地址总线有多少位?寻址范围是多少?

答:20位A0-A19 。寻址范围00000H-FFFFFH

2.8086/8088 微处理器分哪两部分?各部分主要由什么组成?

答:执行单元EU和总线接口单元BIU。

EU包括:ALU、寄存器组、暂存器、标志寄存器、EU控制单元。BIU 包括:指令队列缓冲器、段寄存器及指令指针、总线地址加法器、总线控制逻辑。

4.8086/8088 微处理器中有几个通用寄存器?几个变址寄存器?有几个指针寄存器?几个段寄存器?

答:8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI。2 个变址寄存器SI、DI。2 个指针寄存器SP、BP。DS、ES、SS、CS段地址寄存器。

5.8086/8088 微处理器中有哪些标志位?它们的含义和作用如何?

答:零标志位ZF、进位标志CF、溢出标志位OF、辅助进位标志位AF、奇偶标志位PF、符号标志位SF、方向标志位DF、中断允许标志位IF 、跟踪标志TF。

6.试求出下列运算后的各个状态标志,说明进位标志和溢出标志的区别?

1278H+3469H

答:0001 0010 0111 1000

+0011 0100 0110 1001

0100 0110 1110 0001

ZF=0;SF=0;CF=0;OF=0;AF=1;PF=1。

54E3H-27A0H

答:0101 0100 1110 0011

+1101 1000 0110 0000(-27A0 的补码)

10010 1101 0100 0011

ZF=0;SF=0;CF=1;OF=0;AF=0;PF=0。

3881H+3597H

答:0011 1000 1000 0001

+0011 0101 1001 0111

0110 1110 0001 1000

ZF=0;SF=0;CF=0;OF=0;AF=0;PF=1。

01E3H-01E3H

答:0000 0001 1110 0011

+1111 1110 0001 1101(-01E3H 的补码)

10000 0000 0000 0000

ZF=1;SF=0;CF=1;OF=0;AF=1;PF=1。进位表示最高位产生进位。

溢出表示超出数的表示范围。OF=C n○﹢C n-1

8.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址:产生实际地址的两个地址分量:首地址和偏移地址。物理地址:内存单元地址。用户在编写程序时只使用逻辑地址。程序装到内存中使用物理地址。物理地址可以通过逻辑地址求得。

9.设现行数据段位于存储器的B0000H 到BFFFFH 存储单元,DS 段寄存器内容为多少?答:DS=B000H

11.8086/8088 微处理器工作在最小模式和最大模式时的主要特点是什么?有何区别?答:最小模式只有一个CPU不需要总线控制器。最大模式有多个微处理器,必须要总线控制器来对总线控制权进行分配。引脚

MN/MX=1工作在最小模式。

MN/MX=0工作在最大模式。

13.80486 地址总线宽度为多少?数据总线宽度为多少?答:80486地址总线宽度为32位(分成4个块,每个块为8位字长,块有A1,A0 选择)有数据总线宽度为32 位。

14.现有6 个字节的数据分别为11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为400A5H~400AAH,若当前的(DS)=4002H,请说明它们的偏移地址值。如果从存储器中读出这些数据,至少需要访问几次存储器,各读出哪些数据?

解:∵物理地址=(DS)× 16+偏移地址,

∴偏移地址=物理地址-(DS)×16=400A5H~400AAH-40020H=85~H 8AH 至少需要访问三次存储器,每次读出一个字,即

2211H,4433H,6655H。这六个数在存储器中的存放位置如图所示。

习题2( 教材P105)

1.已知DS=2000H ,BX=0100H ,SI=0002H ,存储单元[20100H]~[20103H] 依次存放12 24 56 78H ,[21200H]~[21203H] 依次存放2A 4C B7 65H ,说明下列每条指令执行后AX 寄存器的内容。

(1)MOV AX, 1200H 解:AX=1200H

(3)MOV AX, [1200H] 解:物理地址=D S×16+1200H=20000H+1200H=21200H,所以

AX=4C2AH

(5) MOV AX, [BX+1100H] 解:物理地址=D

S×16+BX+1100H=20000H+0100H+1100H=21200H ,所以AX=4C2AH

(7) MOV AX, [BX][SI+1100H]

解:物理地址=D S× 16+BX+SI+1100H=20000H+0100H+0002H+1100H=21202H, 所以

AX=65B7H

(2)MOV AX, BX 解:AX=0100H

(4)MOV AX, [BX]

解:物理地址=D S×16+BX=20000H+0100H=20100H,所以AX=2412H

(6) MOV AX ,[BX][SI]

解:物理地址=D S×16+BX+SI=20000H+0100H+0002H=20102H,所以AX=7856H

2.指出下列指令错误

(1)MOV CX, DL 答:数据类型不匹配,CX 是16 位,DL 是8 位。

(2)MOV IP, AX 答:指令指针不能直接修改。

(3)MOV ES, 1234H 答:段地址寄存器不能直接置数。

(4)MOV ES, DS 答:段地址DS 不能做源操作数。

(5)MOV AL, 300

答:300 大于255,AL 是8 位的,最多只能存255

(6)MOV [SP], AX

答:SP 不能做间接寻址寄存器。

(7)MOV AX , BX+DI 答:基址变址寻址必须打[] 。

(8)MOV 20H, AH 答:立即数不能做目的地址单元。

3.已知数字0~9 对应的格雷码依次为:18H、34H、05H、06H、09H、0AH 、0CH、11H、12H、14H,它存放在于以TABEL 为首地址(设为200H)的连续区域中。对如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。

LEA BX ,TABLE ;取表的首地址送BX ,执行后(BX)=200H MOV AL ,8 ;立即数8送AL ,执行后,(AL)=8

XLAT ;查表,将表首地址+8( (BX)+(AL) )所对应单元内容送AL, ;执行后,(AL)=12H (8

所对应的格雷码)

相关文档
最新文档