课后作业答案Chppt课件.ppt

上传人:资****亨 文档编号:122880968 上传时间:2020-03-07 格式:PPT 页数:13 大小:923.50KB
返回 下载 相关 举报
课后作业答案Chppt课件.ppt_第1页
第1页 / 共13页
课后作业答案Chppt课件.ppt_第2页
第2页 / 共13页
课后作业答案Chppt课件.ppt_第3页
第3页 / 共13页
课后作业答案Chppt课件.ppt_第4页
第4页 / 共13页
课后作业答案Chppt课件.ppt_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《课后作业答案Chppt课件.ppt》由会员分享,可在线阅读,更多相关《课后作业答案Chppt课件.ppt(13页珍藏版)》请在金锄头文库上搜索。

1、第3章 8088 8086指令系统 3 1什么叫寻址方式 8086 8088CPU共有哪几种寻址 方式 解 寻址方式主要是指获得操作数所在地址的方法 8086 8088CPU具有 立即寻址 直接寻址 寄存器 寻址 寄存器间接寻址 寄存器相对寻址 基址一 变址寻址 基址一变址 相对寻址以及隐含寻址等8 种寻址方式 3 2设 DS 6000H ES 2000H SS 1500H Si 00A0H BX 0800H BP 1200H 数据变 量VAR为0050H 请分别指出下列各条指令源操作 数的寻址方式 它的物理地址是多少 1 1 MOV AX BX 2 MOV DL 80H 3 MOV AX V

2、AR 4 MOV AX VAR BX SI 5 MOV AL B 6 MOV DI ES BX 7 MOV DX BP 8 MOV BX 20H BX 解 1 寄存器寻址 因源操作数是寄存器 故寄存器BX就 是操作数的地址 2 立即寻址 操作数80H存放于代码段中指令码MOV 之后 3 直接寻址 4 基址一变址一相对寻址 操作数的物理地址 DS 16 SI BX VAR 60000H 00A0H 0800H 0050H 608F0H 2 5 立即寻址 6 寄存器间接寻址 操作数的物理地址 ES 16 BX 20000H 0800H 20800H 7 寄存器间接寻址 操作数的物理地址 SS 16

3、 BP 15000H 1200H 16200H 8 寄存器相对寻址 操作数的物理地址 DS 16 BX 20H 60000H 0800H 20H 60820H 3 3 3 假设 DS 212AH CS 0200H IP 1200H BX 0500H 位 移量DATA 40H 217A0H 2300H 217E0H 0400H 217E2H 9000H 试确定下列转移指令的转移地址 1 JMP 2300H 2 JMP WORD PTR BX 3 JMP DWORD PTR BX DATA 解 转移指令分为段内转移和段间转移 根据其寻址方式的 不同 又有段内的直接转移和间接转移 以及段间的直接转移

4、 和间接转移地址 对直接转移 其转移地址为当前指令的偏移 地址 即IP的内容 加上位移量或由指令中直接得出 对间接转 移 转移地址等于指令中寄存器的内容或由寄存器内容所指向 的存储单元的内容 1 段内直接转移 转移的物理地址 CS l6 2300H 02000H 2300H 04300H 4 2 段内间接转移 转移的物理地址 CS 16 BX CS l6 217A0H 02000H 2300H 04300H 3 段间间接转移 转移的物理地址 BX DATA 217E2H l6 217E0H 90000H 0400H 90400H 3 4试说明指令MOV BX 5 BX 与指令LEA BX 5

5、BX 的区别 解 前者是数据传送类指令 表示将数据段中以 BX 5 为偏移 地址的16位数据送寄存器BX 后者是取偏移地址指令 执行的结果是 BX BX 5 即操 作数的偏移地址为 BX 5 3 5设堆栈指针SP的初值为2300H AX 50ABH BX 1234H 执行指令PUSH AX后 SP 再执行指令PUSH BX及POP AX之后 SP AX BX 解 堆栈指针SP总是指向栈顶 每执行一次PUSH指令SP 2 执 行一次POP指令SP 2 所以 执行PUSH AX指令后 SP 22FEH 再执行PUSH BX及POP AX后 SP 22FEH AX BX 1234H 5 3 6 指出

6、下列指令的错误 1 MOV AH CX 2 MOV 33H AL 3 MOV AX SI DI 4 MOV BX SI 5 ADD BYTE PTR BP 256 6 MOV DATA SI ES AX 7 JMP BYTE PTR BX 8 OUT 230H AX 9 MOV DS BP 10 MUL 39H 解 1 指令错 两操作数字长不相等 2 指令错 MOV指令不允许目标操作数为立即数 3 指令错 在间接寻址中不允许两个间址寄存器同时为变址寄 存器 4 指令错 MUV指令不允许两个操作数同时为存储器操作数 5 指令错 ADD指令要求两操作数等字长 6 指令错 源操作数形式错 寄存器操作

7、数不加段重设符 7 指令错 转移地址的字长至少应是16位的 8 指令错 对输人输出指令 当端口地址超出8位二进制数的表 达范围 即寻址的端口超出256个 时 必须采用间接寻址 6 9 指令正确 10 指令错 MUL指令不允许操作数为立即数 3 7 已知 AL 7BH BL 38H 试问执行指令ADD AL BL后 AF CF OF PF SF和值各为多少 解 AF 1 CF 0 OF 1 PF 0 SF l ZF 0 3 8 试比较无条件转移指令 条件转移指令 调用指令和中断指令 有什么异同 解 无条件转移指令的操作是无条件地使程序转移到指定的目标 地址 并从该地址开始执行新的程序段 其转移的

8、目标地址既可以 是在当前逻辑段 也可以是在不同的逻辑段 条件转移指令是在满 足一定条件下使程序转移到指定的目标地址 其转移范围很小 在 当前逻辑段的 128 127地址范围内 调用指令是用于调用程序中常用到的功能子程序 是在程序设计 中就设计好的 根据所调用过程人口地址的位置可将调用指令分为 段内调用 入口地址在当前逻辑段内 和段间调用 在执行调用指 令后 CPU要保护断点 对段内调用是将其下一条指令的偏移地址 压人堆栈 对段间调用则要保护其下一条指令的偏移地址和段基地 址 然后将子程序人口地址赋给IP 或CS和IP 7 中断指令是因一些突发事件而使CPU暂时中止它正在运行的程 序 转去执行一

9、组专门的中断服务程序 并在执行完后返回原被中 止处继续执行原程序 它是随机的 在响应中断后CPU不仅要保 护断点 即INT指令下一条指令的段地址和偏移地址 还要将标 志寄存器FLAGS压入堆栈保存 3 9 试判断下列程序执行后 BX中的内容 MOV CL 3 MOV BX 0B7H ROL BX 1 ROR BX CL 解 该程序段是首先将BX内容不带进位循环左移1位 再循环 右移3位 即相当于将原BX内容不带进位循环右移2位 故结果为 BX 0C02DH 3 10按下列要求写出相应的指令或程序段 1 写出两条使AX内容为0的指令 2 使BL寄存器中的高4位和低4位互换 3 屏蔽CX寄存器的b

10、ll b7和b3位 4 测试DX中的b0和b8位是否为1 8 解 1 MOV AX 0 XOR AX AX AX寄存器自身相异或 可使其内容清0 2 MOV CL 4 ROL BL CL 将BL内容循环左移4位 可实现其高4位和低 4位 的互换 3 AND CX 0F777H 将CX寄存器中需屏蔽的位 与 0 也可 用 或 指令实现 4 AND DX 0101H 将需侧试的位 与 1 其余 与 0屏蔽掉 CMP DX 0101 H 与0101H比较 JZ ONE 若相等则表示b0和b8位同时为1 9 3 11 分别指出以下两个程序段的功能 1 2 MOV CX l0CLD LEA SI FIR

11、STLEA DI 1200H LEA DI SECOND MOV CX 0FOOH STD XOR AX AX REP MOVSBREP STOSW 解 1 该段程序的功能是 将数据段中FIRST为最高地址的10个字节 数据按减地址方向传送到附加段SECOND为最高地址的向前10个单 元中 2 将附加段中偏移地址为1200H单元开始的0FOOH个字单元清0 3 12 执行以下两条指令后 标志寄存器FLAGS的六个状态位各为 什么状态 MOV AX 84A0H ADD AX 9460H 解 执行ADD指令后 6个状态标志位的状态分别为 10 在两个16位数进行加法运算时 对CF ZF SF和OF

12、会产 生影响 但对PF和AF标志位 只有其低8位的运算影响它们的状态 各标志位的状态分别为 AF 0 PF 1 CF 1 ZF 0 SF 0 OF 1 3 13将 46和 38分别乘以2 可应用什么指令来完成 如果除以2呢 解 因为对二进制数 每左移一位相当于乘以2 右移一位相当 于除以2 所以 将 46和 38分别乘以2 可分别用逻辑左移指令 SHL 和算术左移指令 SAL 完成 SHL指令针对无符号数 SAL 指令针对有符号数 当然 也可以分别用无符号数乘法指令MUL和有符号数乘法 指令IMUL完成 如果是除以2 则进行相反操作 即用逻辑右移指令SHR或无符 号数除法指令DIV实现 46除

13、以2的运算 用算术右移指令SAR或 有符号数除法指令IDIV实现 38除以2的运算 11 3 14已知AX 8060H DX 03F8H 端口PORT1的地址是48H 内 容为40H PORT2的地址是84H 内容为85H 请指出下列指令 执行后的结果 1 OUT DX AL 2 IN AL PORT1 3 OUT DX AX 4 IN AX 48H 5 OUT PORT2 AX 解 1 将60H输出到地址为03F8H的端口中 2 从PORT1读入一个字节数据 执行结果 AL 40H 3 将 AX 8060H输出到地址为03F8H的端口中 4 由48H端口读人16位二进制数 5 将8060H输出到地址为84H的端口中 12 此课件下载可自行编辑修改 供参考 感谢您的支持 我们努力做得更好 13

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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