微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著

上传人:小** 文档编号:58660557 上传时间:2018-10-31 格式:DOC 页数:17 大小:157KB
返回 下载 相关 举报
微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著_第1页
第1页 / 共17页
微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著_第2页
第2页 / 共17页
微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著_第3页
第3页 / 共17页
微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著_第4页
第4页 / 共17页
微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著》由会员分享,可在线阅读,更多相关《微计算机原理(第2版)第三章课后习题答案--潘名莲-马争-丁庆生-编著(17页珍藏版)》请在金锄头文库上搜索。

1、第第 3 章章 80x86 指令系统指令系统3-1 指令由 操作码 字段和 操作数 字段组成。8086 的指令长度在 16 字节 范围。3-2 分别指出下列指令中源操作数和目的操作数的寻址方式。若是存储器寻址,使用表达 式表示出 EA=? PA=? (1) MOV SI, 2100H (2) MOV CX, DISPBX (3) MOV SI, AX (4) ADC ZX, BXSI (5) AND AX, DX (6) MOV AX, BX+10H (7) MOV AX, ES:BX (8)MOV AX, BX+SI+20H (9) MOV BP, CX (10) PUSH DS 解:解:源

2、操作数寻址目的操作数寻址EAPA1) MOV SI, 2100H 立即数寻址寄存器(2) MOV CX, DISPBX寄存器相对寻址寄存器BX+SISP(DS)*16+(BX+DISP)(3) MOV SI, AX 寄存器寻址寄存器间接SI(DS)*16+(SI)(4) ADC ZX, BXSI 基址变址寻址寄存器BX+SI(DS)*16+(BX)+(SI)(5) AND AX, DX 寄存器寻址寄存器(6) MOV AX, BX+10H寄存器相对寻址寄存器BX+DISP(DS)*16+(BX)+10H(7) MOV AX, ES:BX带段超越寄存器寻址寄存器BX(ES)*16+(BX)(8)

3、MOV AX, BX+SI+20H相对基址变址寻址寄存器BX+SI+20H(DS)*16+(BX)+(SI)+20H(9) MOV BP, CX寄存器寻址寄存器间接BP(SS)*16+(BP)(10) PUSH DS固定寻址寄存器SP(SS)*16+(SP)3-3 已知 8086 中一些寄存器的内容和一些存储器单元的内容如图 3-1 所示,试指出下列 各条指令执行后,AX 中的内容。 (1) MOV AX, 2010H (2) MOV AX, BX (3) MOV AX, 1200H (4) MOV AX, BX (5) MOV AX, 1100HBX (6) MOV AX, BXSI (7)

4、 MOV AX, 1100HBX+SI (8) MOVLEA AX, SI 解:解:(1) (AX)=2010H (2) (AX)=0100H (3) (AX)=4C2AH (4) (AX) =3412H(5) (AX)=4C2AH (6) (AX)=7856H (7) (AX)=65B7H (8) (AX) =0002H图 3-1 3-4 已知(AX)=2040H,(DX)=380H,端口(PORT)=(80H)=1FH, (PORT+1)=45H,执行下列 指令后,指出结果等于多少? 解:解: (1)OUT DX, AL (0380H)=40H (2)OUT DX, AX (380H)=4

5、0H (381h)=20H (3)IN AL, PORT (AL)=1FH (4)IN AX, 80H (AX)=451FH (5)OUT PORT1, AL (PORT1)=40H (6)OUT PORT1, AX (PORT1)=2040H3-5 已知:(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213,试画出下列指令执行到位 置 1 和位置 2 时堆栈区和 SP 指针内容的变化示意图。图中应标出存储单元的实际地址 PA。 PUSH AX PUSH CX ;位置 1 POPF ;位置 2解:已知(SS)=0A2F0H,指令顺序依次编号为、 ,示意图如图

6、所示:(SS)=0A2F0H0A2FBCH13H(SP)-4=00BCH (位置 1)F2H0A2FBEH31H(SP)-2=00BEH (SP)+2=00BCH +0002H=00BEH (位置 2)8BHM30100H12H30101H34H30102H56H30103H78H 31200H2AH31201H4CH31202HB7H31203H65HCPUBX0100HSI0002HDS3000H0A2FC0H(SP)=00C0H3-6 识别下列指令的正确性,对错误的指令,说明出错的原因。 (1) MOV DS, 100 (2) MOV 1000H, 23H (3) MOV 1000H,2

7、000H (4) MOV DATA, 1133H (5) MOV 1020H, DX (6) MOV AX, 0100H+BX+BP (7) MOV CS, AX (8) PUSH AL (9) PUSH WORD PTRSI (10) IN AL, 80H(11) OUT CX, AL (12) IN AX, 380H (13) MOV CL, 3300H (14) MOV AX, 2100HBP (15) MOV DS, ES (16) MOV IP, 2000H (17) PUSH CS (18) POP CS (19) LDS CS, BX(20) MOV GAMMA, CS 解:解:

8、 (1),不能对段寄存器送立即数 (2),存储单元类型不正确 (3),MOV 不能实现两个存储单元间直接传送 (4),段名不能作目的操作数 (5),立即数不能作目的操作数 (6),基址寄存器 BX 和 BP 只能使用 其中一个 (7),CS 不能用作目的操作数 (8),堆栈操作作为字操作 AL 应改为AX(9) (10),80H 为输入端口号不加方括号(11),应输出到端口而不是通用寄存 器 (12),用 DX 做间址寄存器 380H 应存DX (13),类型不匹配(14) (15),两个段寄存器间不能直接传送 (16),IP 不能直接用作目的操作数(17) (18),CS 不能做目的操作数

9、(19),目的操作数应是通用寄存器而 不能是段寄存器 CS (20),符号名不能作为目的操作数3-7 已知存储器数据段中的数据如图 3-3 所示。阅读下列的两个程序段后,回答: 1. 每个程序段的运行结果是什么? 2. 两个程序段各占多少字节的内容,执行时间是多少? (1) LES SI, NUM1MOV AX, SIADD AX, 4SIMOV 8SI, AXADD SI, 2MOV AX, SIADC AX, 4SIMOV 8SI, AX(2) MOV AX, NUM1ADD AX, NUM2MOV SUM, AXMOV AX, NUM1+2ADC AX, NUM2+2MOV SUM+2,

10、 AX解:解:1、运行结果如下:(1) 0AC6863A0H (2) 0AC6863A0 2、 时钟周期 字节数 (1) LES SI, NUM1 2+EA 24MOV AX, SI 10 3ADD AX, 4SI 9+EA 24MOV 8SI, AX 10 3ADD SI, 2 4 34MOV AX, SI 10 3 ADC AX, 4SI 9+EA 24MOV 8SI, AX 10 24(2) MOV AX, NUM1 10 3ADD AX, NUM2 9+EA 24MOV SUM, AX 9+EA 24MOV AX, NUM1+2 9+EA 24ADC AX, NUM2+2 9+EA 2

11、4MOV SUM+2, AX 9+EA 24图 3-3 3-8 已知数据如图 3-3 所示,数据的低位在前,按下列要求编写程序段: 1. 完成 NUM1 和单元 NUM2 两个字数据相加,和存放在 NUM1 中。 2. 完成 NUM1 单元开始的连续 4 个字节数据相加,和不超过一字节,存放 SUM 单元。 3. 完成 NUM1 单元开始的连续 8 个字节数据相加,和 16 位数,放在 SUM 和 SUM+1 两个 单元(用循环) 。 4. 完成 NUM1 和 NUM2 的双倍精度字数据相加,和放在 NUM2 开始的字单元中。解:解:1、CLCLEA SI, NUM1MOV AX, WORD

12、PTR SIADD AX, WORD PTR NUM2MOV WORD PTR SI, AXMOV AX, WORD PTR SI+2ADC AX, WORD PTR NUM2+2MOV WORD PTR SI+2, AXHLT2、LEA SI, NUM1MOV AL, SIADD AL, 1SIADD AL, 2SIADD AL, 3SIMOV SUM, ALMNUM148HDS41H16H28HNUM258H22H52H84HSUMHLT3、 CLCCLDLEA SI, NUM1MOV AL, SIMOV AH, 0MOV CX, 7XOR BH, BH AGA: MOV BL, 1SIA

13、DC AX, BXINC SIDEC CXJNZ AGAMOV SUM, AXHLT4、LEA SI, NUM1LEA DI, NUM2MOV AX, SIADD AX, DIMOV DI, AXMOV AX, 2SIADC AX, 2DIMOV 2DI, AX3-9 已知的 BCD 数如图 3-3 所示,低位在前,按下列要求编写计算 BCD 数据(为组合型 BCD)的程序段。 1.完成从 NUM1 单元开始的连续 8 个组合型 BCD 数相加,和(超过一字节)放在 SUM 和 SUM+1 两个单元中。 2.完成 NUM1 单元和 NUM2 单元的两个 BCD 数相减,其差存入 SUM 单元,差=?, (CF)=? 解:解:1、 CLCCLDLEA SI, NUM1MOV CX, 7MOV AH, 0MOV AL, SIAGA: INC SIADC AL,SIDAALOOP AGAMOV SUM, ALMOV SUM+1, AHHLT2、 CLC MOV AH, 0 MOV AL, NUM1 SUB AL, NUM2 DAS MOV SUM, AL差=0F0H=-10H, CF=13-10 写出下列程序段完成的数学计算公式,并画出数据存放的示意图。 MOV AX, X MOV DX, X+2 ADD AX, Y ADC DX, Y+2 SUB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

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