接口与汇编程序设计作业答案

上传人:油条 文档编号:20503196 上传时间:2017-11-22 格式:DOC 页数:16 大小:162KB
返回 下载 相关 举报
接口与汇编程序设计作业答案_第1页
第1页 / 共16页
接口与汇编程序设计作业答案_第2页
第2页 / 共16页
接口与汇编程序设计作业答案_第3页
第3页 / 共16页
接口与汇编程序设计作业答案_第4页
第4页 / 共16页
接口与汇编程序设计作业答案_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《接口与汇编程序设计作业答案》由会员分享,可在线阅读,更多相关《接口与汇编程序设计作业答案(16页珍藏版)》请在金锄头文库上搜索。

1、1习题 1(教材 P56)18086/8088 微处理器地址总线有多少位?寻址范围是多少?答:20 位 A0-A19。寻址范围 00000H-FFFFFH28086/8088 微处理器分哪两部分?各部分主要由什么组成?答:执行单元 EU 和总线接口单元 BIU。EU 包括:ALU、寄存器组、暂存器、标志寄存器、EU 控制单元。BIU 包括:指令队列缓冲器、段寄存器及指令指针、总线地址加法器、总线控制逻辑。48086/8088 微处理器中有几个通用寄存器?几个变址寄存器?有几个指针寄存器?几个段寄存器?答:8 个通用寄存器 AX、BX、CX、DX、SP、BP、SI、DI。2 个变址寄存器SI、D

2、I。2 个指针寄存器 SP、BP。DS、ES、SS、CS 段地址寄存器。58086/8088 微处理器中有哪些标志位?它们的含义和作用如何?答:零标志位 ZF、进位标志 CF、溢出标志位 OF、辅助进位标志位 AF、奇偶标志位 PF、符号标志位 SF、方向标志位 DF、中断允许标志位 IF、跟踪标志 TF。6试求出下列运算后的各个状态标志,说明进位标志和溢出标志的区别?1278H+3469H 答:0001 0010 0111 1000+0011 0100 0110 10010100 0110 1110 0001ZF=0;SF=0;CF=0;OF=0;AF=1;PF=1。54E3H-27A0H

3、答:0101 0100 1110 0011+1101 1000 0110 0000(-27A0 的补码)10010 1101 0100 0011ZF=0;SF=0;CF=1;OF=0;AF=0;PF=0。3881H+3597H 答:0011 1000 1000 0001+0011 0101 1001 01110110 1110 0001 1000ZF=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 0000ZF=1;SF=0;C

4、F=1;OF=0;AF=1;PF=1。2进位表示最高位产生进位。溢出表示超出数的表示范围。OF=C n Cn-18什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址:产生实际地址的两个地址分量:首地址和偏移地址。物理地址:内存单元地址。用户在编写程序时只使用逻辑地址。程序装到内存中使用物理地址。物理地址可以通过逻辑地址求得。9设现行数据段位于存储器的 B0000H 到 BFFFFH 存储单元,DS 段寄存器内容为多少?答:DS=B000H118086/8088 微处理器工作在最小模式和最大模式时的主要特点是什么?有何区别?答:最小模式只有一个 CPU 不需要总线控制器

5、。最大模式有多个微处理器,必须要总线控制器来对总线控制权进行分配。引脚 MN/MX=1 工作在最小模式。MN/MX=0 工作在最大模式。13.80486 地址总线宽度为多少?数据总线宽度为多少?答:80486 地址总线宽度为 32 位(分成 4 个块,每个块为 8 位字长,块有A1,A0 选择)有数据总线宽度为 32 位。14现有 6 个字节的数据分别为 11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为 400A5H400AAH,若当前的(DS)=4002H,请说明它们的偏移地址值。如果从存储器中读出这些数据,至少需要访问几次存储器,各读出哪些数据?解:物理地址=

6、(DS)16+偏移地址,偏移地址=物理地址-(DS)16=400A5H400AAH-40020H=85H8AH至少需要访问三次存储器,每次读出一个字,即 2211H,4433H,6655H。这六个数在存储器中的存放位置如图所示。11H22H33H44H55H66H4002:00854002:00864002:00874002:00884002:00894002:008A3习题 2(教材 P105)1已知 DS=2000H,BX=0100H,SI=0002H ,存储单元20100H20103H依次存放 12 24 56 78H,21200H21203H依次存放 2A 4C B7 65H,说明下列

7、每条指令执行后 AX 寄存器的内容。(1) MOV AX, 1200H解:AX=1200H(3) MOV AX, 1200H解:物理地址=DS16+1200H=20000H+1200H=21200H, 所以 AX=4C2AH(5) MOV AX, BX+1100H解:物理地址=DS16+BX+1100H=20000H+0100H+1100H=21200H ,所以 AX=4C2AH(7) MOV AX, BXSI+1100H解:物理地址=DS16+BX+SI+1100H=20000H+0100H+0002H+1100H=21202H ,所以AX=65B7H(2) MOV AX, BX解:AX=0

8、100H(4) MOV AX, BX解:物理地址=DS16+BX=20000H+0100H=20100H ,所以 AX=2412H(6) MOV AX, BXSI解:物理地址=DS16+BX+SI=20000H+0100H+0002H=20102H,所以 AX=7856H2指出下列指令错误(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 大

9、于 255,AL 是 8 位的,最多只能存 255(6) MOV SP, AX答:SP 不能做间接寻址寄存器。(7) MOV AX , BX+DI答:基址变址寻址必须打。(8) MOV 20H, AH答:立即数不能做目的地址单元。3已知数字 09 对应的格雷码依次为:18H、34H、05H、06H、09H 、0AH、0CH 、11H、12H 、14H ,它存放在于以 TABEL 为首地址(设为 200H)的连续区域中。对如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。LEA BX,TABLE ;取表的首地址送 BX,执行后(BX)=200HMOV AL,8 ;立即数 8 送 AL,

10、执行后,(AL)=84XLAT ;查表,将表首地址+8((BX)+(AL))所对应单元内容送 AL, ;执行后,(AL)=12H(8 所对应的格雷码)4什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?答:堆栈是在内存中开的一个特殊的数据区,堆顶有堆栈指针 SP 与 SS 共同决定。原则是:先进后出,两个操作:入栈、出栈,对应指令:PUSH(入栈)、POP(出栈) 。5已知 SS=FFA0H,SP=00B0H,画图说明执行下列指令序列时,堆栈区和 SP 的内容如何变化?MOV AX , 8075HPUSH AXMOV AX , 0F79HPUSH AXPOP BX POP

11、BX解:57H80Hxx.FFA0:00AE SPFFA0:00AFFFA0:00B0 FFA0:0000执行完MOV AX , 8075HPUSH AX 指令后SP=00AEH79H0FH57H80Hxx.FFA0:00AC SPFFA0:00ADFFA0:00AE FFA0:00AFFFA0:00B0FFA0:0000再执行完MOV AX , OF79HPUSH AX 指令后SP=00ACH79H0FH57H80Hxx.FFA0:00AE SPFFA0:00AFFFA0:00B0 FFA0:0000再执行完POP BX 指令后SP=00AFH79H0FH57H80Hxx.FFA0:00AE

12、 FFA0:00AFFFA0:00B0 SPFFA0:0000再执行完POP BX 指令后SP=00B0H58请分别用一条汇编语言指令完成如下功能:(1)把 BX 寄存器和 DX 寄存器的内容相加,结果存入 DX 寄存器。解:ADD DX, BX(2)用寄存器 BX 和 SI 的基址变址寻址方式把存储器的一个字节与 AL 寄存器的内容相加,并把结果送 AL 中。解:ADD AL, BX+SI 或 ADD AL, BXSI(3)用寄存器 BX 和 02BH 的寄存器相对寻址方式,把存储器的一个字和 CX 寄存器的内容相加,并把结果送回存储器中。解:ADD BX+02BH ,CX 或 ADD 02

13、BH BX ,CX(4)把数 0A0H 与 AL 寄存器内容相加,并把结果送 AL 中。解:ADD AL, 0A0H10指出下列指令错误(1) XCHG SI, 30H答:立即数不能作为单元地址来保存数据,所以交换指令中的两个操作数必须是地址操作数。(2) POP CS答:CS 不能作为寻址寄存器使用(3)SUB SI, DI答:算术运算指令中的两个操作数不能同时都在内存中(4)PUSH AH答:PUSH 指令中的操作数必须是 16 位操作数,AH 是 8 位(5)ADC AX, DS答:DS 不能做源操作数,(6)OUT DX, AH答:只能使用 AL(当端口数据位是 8 位) 或 AX(端

14、口数据位是 16 位)与端口交换数据(7)IN AL 3FCH答:端口地址大于 255 时,必须有 DX 寄存器间接寻址。20假设 DS=2000H,BX=1256H,SI=528FH,位移量 TABLE=20A1H,232F7H=3280H,264E5H=2450H,试问执行下列段内间接转移指令后,转移的目的地址是什么?(1) JMP BX(2) JMP TABLEBX(3) JMP BXSI解:(1)JMP BX,目标地址的偏移量在 BX 中,所以转移的目的地址是 CS:1256H(也可以直接写成有效地址 IP=1256H) 。(2) JMP TABLEBX,目标地址的偏移量在存储器单元中

15、,该存储器单元有效地址为(BX)+ TABLE 中,所对应的物理地址=DS16+(BX)+TABLE=20000H+1256H+20A1H=232F7H,该单元存放的内容为 3280H,所以 JMP TABLEBX 转移的目的地址是 CS:3280H(也可以直接写成有效地址 IP=3280H)(3) JMP BXSI 目标地址的偏移量在存储器单元中,该存储器单元有效地址为(BX)+ (SI)中,所对应的物理地址=DS16+(BX)+(SI)=20000H+1256H+528FH=264E5H,该单元存放的内容为 4500H,所以 JMP TABLEBX 转移的目的地址是 CS:4500H(可以

16、直接写成有效6地址 IP=4500H) 。23假设 AX 和 SI 存放的是有符号数,DX 和 DI 存放的是无符号数,请用比较指令和条件转移指令实现以下判断:(1)若 DXDI,转到 ABOVE 执行;(2)若 AXSI,转到 GREATER 执行;(3)若 CX=0,转到 ZERO 执行;(4)若 AX-SI 产生溢出,转到 OVERFLOW 执行;(5)若 SIAX,转到 LESS_EQ 执行;(6)若 DIDX,转到 BELOW_EQ 执行。解:(1)CMP DX,DIJA ABOVE(2)CMP AX,SIJG GREATER(3)CMP CX,0JE ZERO(4)CMP AX,SIJO OVERFLOW(5) CMP SI,A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号