




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题四习题四 1 8086 语言指令的寻址方式有哪几类 用哪一种寻址方式的指令执行速度最快 答 数据操作数的寻址方式有七种 分别为 立即寻址 寄存器寻址 直接寻址 寄存器间 接寻址 寄存器相对基址变址和相对基址变址寻址 其中寄存器寻址的指令执行速度最快 2 若 DS 6000H SS 5000H ES 4000H SI 0100H BX 0300H BP 0400H D 1200H 数据段中变量名 NUM 的偏移地址为 0050H 试指出下列源操作数的寻址方式和物理地 址是多少 1 MOV AX 64H 答 寻址方式为直接寻址 PA 60064H 2 MOV AX NUM 答 寻址方式为直接寻址 PA 60005H 3 MOV AX SI 答 寻址方式为寄存器间接寻址 PA 60100H 4 MOV AX BX 答 寻址方式为寄存器间接寻址 PA 60300H 5 MOV AX BP 答 寻址方式为寄存器间接寻址 PA 50400H 6 MOV AL DI 答 寻址方式为寄存器间接寻址 PA 61200H 7 MOV AL BX 1110H 答 寻址方式为寄存器相对寻址 PA 61410H 8 MOV AX NUM BX 答 寻址方式为寄存器相对寻址 PA 60305H 9 MOV AX BX SI 答 寻址方式为基址变址寻址 PA 60400H 10 MOV AX NUM BX DI 答 寻址方式为相对基址变址寻址 PA 61505H 3 设 BX 637DH SI 2A9BH 位移量为 C237H 试确定由这些寄存器和下列寻址方式产 生的有效地址 1 直接寻址 答 有效地址为 EA C237H 2 用 BX 的寄存器间接寻址 答 有效地址为 EA 637DH 3 用 BX 的相对寄存器间接寻址 答 有效地址为 EA 125B4H 4 基址加变址寻址 答 有效地址为 EA 8E18H 5 相对基址变址寻址 答 有效地址为 EA 1504FH 其中 3 和 5 中产生进位 要把最高位 1 舍去 4 指出下列指令是否正确 若不正确情说明原因 1 MOV DS 2010H 立即数不能传送到 DS 2 PUSH AL 栈操作 操作数类型必须为 WORD 类型 3 MOV DX SP SP 寄存器不能做间址寄存器 4 IN AL 0A00H I O 指令的直接寻址 地址只能为 8 位 5 XCHG CL CH 正确 6 SHR AX 3 移位超过一位时 应采用 CL 寄存器间址 7 AAA CX 非组合的 BCD 码加法调整 AAA 指令应为隐含操作数 8 ADD BP DI 加法指令 ADD 缺少源操作数 9 OUT DX CL I O 指令操作数只能用 AX AL 提供 端口地址可以是 8 位的 直接地址或用 DX 间址 10 CBW BH 符号扩展指令为隐含操作数 11 ADD 03ECH 加法指令应为双操作数指令 立即数不能做目的操作数 12 MOV BX SI DI 源操作数形式错误 SI 和 DI 不能同时做为间址寄存器 13 MOV DI AX AX 不能做为间址寄存器 课后答案网 w w w k h d a w c o m 14 OUT 258H BX I O 指令格式错误 见 9 题的解释 15 SHL AX 3 移位指令 位移位数大于 1 时 应用 CL 来指明 16 MOV 64H AL 立即数不能做为目的操作数 17 ADD AL 6600H 源 目的操作数的类型不一致 18 MOV BX SI 传送指令中 两个操作数不能同时为存储器操作数 19 XCHG AX 8800H 交换指令的操作数不能使用立即数 20 MOV AX BX DX 传送指令的源操作数 不能使用立即数 21 LEA BX 1000H 有效地址传送指令的源操作数不能为立即数 必须是存储器操作数 22 DIV 0010H 正确 23 LEA DX DI 同 21 题 源操作数不能为寄存器操作数 24 MUL AX 200H 乘法指令的目的操作数是隐含的 不能出现在指令中 25 MOV AX BX BP 传送指令中源操作数格式错 BX 和 BP 不能同时为间址寄存器 26 CMP BX SI 比较指令的两个操作数不能同时为存储器操作数 27 OUT DX BX I O 指令中 源操作数只能使用 AL 或 AX 寄存器 28 AND OFH AL 与 指令中 目的操作数不能使用立即数 29 SAL BX CX 移位指令 移位位移不能用 CX 寄存器指明 30 JMP FAR BX SI 转移指令中转移的目标地址表达方式错误 如果是段内间接转移 应为 JMP WORD PTR BX SI 如果是段间间接转移 应为 JMP DWORD PTR BX SI 31 JNZ AAA 不相等转移指令中 符号地址 标识符 不能使用系统中的保留字 32 JMP NEXT 正确 33 SBC AX DX 指令助记符错 源操作数表示方式错 34 MOV CS DS 段寄存器之间不能传送数据 CS 寄存器也不能做为目的操作数 35 ADD DS AX 加法指令中段寄存器不能做为操作数 36 MOV AL CX 源 目的操作数的类型不一致 见 17 题 37 INC BX 没有指定存储器操作数类型 38 MOV CL A8H 源操作数为 16 进制的立即数 16 进制数以字母开头时应在前面加 0 39 MOV ES DS 错同 34 题 40 IN AL BX I O 指令端口地址表示错误 只能用 8 位立即数或 DX 间址 5 设一个字节数据 X 存放 AL 寄存器中 试说明下列程序的功能 XOR AH AH AH 清零 SAL AX 1 AX 左移一位 相当于 2X MOV BX AX 2X 送 BX 暂存 MOV CL 2 SAL AX CL AX 左移二位 2X 4 8X ADD AX BX 2X 8X 10X 该段程序实现了字节数据 X 乘 10 结果在 AX 中 6 试编程实现 课后答案网 w w w k h d a w c o m 1 AL 寄存器的低 4 位清 0 2 BL 寄存器的低 4 位置 1 3 CL 寄存器的低 4 位取反 4 测试 DL 寄存器的最低 2 位是否同时为 0 若是 将 0 送入 BL 寄存器 否则将 1 送 入 BL 寄存器 答 程序段如下 AL 寄存器的低 4 位清 0 BL 寄存器的低 4 位置 1 CL 寄存器的低 4 位取反 测试 DL 寄存器 AND AL 0F0H OR BL 0FH XOR CL 0FH TEST DL 03H JZ NEXT MOV BL 1 JMP NEXT1 NEXT MOV BL 0 NEXT1 HLT 7 若有两个 4 字节的无符号数相加 这两个数分别存放在 2000H 和 3000H 开始的存储单元 中 得到的和存放在 2000H 开始的内存单元 试编程完成 答 程序段如下 MOV AX 3000H ADD 2000H AX MOV AX 3002H ADC 2002H AX 8 设从 2000H 为首址的内存中 存放着 10 个带符号的字节数据 试编程完成 找出其中最 大的数 并存入 2000H 单元 答 程序段如下 MOV BX 2000H MOV CX 9 MOV AL BX N2 INC BX CMP AL BX JGE N1 MOV AL BX N1 LOOP N2 MOV 2000H AL HLT 9 用寄存器间接寻址方式时 BX BP SI DI 分别针对什么情况来使用 用这 4 个寄存器 分别组合间接寻址时 物理地址是怎样计算的 举例说明 答 BX SI DI 用于在数据段寻址 BP 用于在堆栈段寻址 在数据段物理地址为 PA DS 10H BX SI DI 或者为 PA DS 10H BX SI 或 BX DI 在堆栈段物理地址为 PA SS 10H BP 课后答案网 w w w k h d a w c o m 或者为 PA SS 10H BP SI 或 BP DI 举例如下 MOV AX BX SI 在数据段寻址 PA DS 10H BX SI MOV AX BP DI 在堆栈段寻址 PA SS 10H BP DI 10 已知 DS 2000H BX 0300H SI 0002H 20300H 12H 20301 34H 20302H 56H 20303H 78H 21400H 2AH 21401H 4CH 21402H B7H 21403H 65H 试说明下列各条指令执行完后 AX 寄存器的内容 1 MOV AX 1400H 答 执行完该条指令后 AX 1400H 答 执行完该条指令后 AX 0300H 答 执行完该条指令后 AX 4C2AH 答 执行完该条指令后 AX 3412H 2 MOV AX BX 3 MOV AX 1400H 4 MOV AX BX 11 根据以下要求 试写出相应的汇编语言指令 1 把 BX 寄存器和 DX 寄存器的内容相加 结果存入 BX 寄存器中 答 指令为 ADD BX DX 2 用寄存器 BX 和 SI 的基址变址寻址方式把存储器中的一个字节与 AL 寄存器的内容相 加 并把结果送到 AL 寄存器中 答 指令为 ADD AL BX SI 3 用寄存器 BX 和位移量 0B2H 的寄存器相对寻址方式把存储器中的一个字和 CX 相加 并把结果存回存储器中 答 指令为 ADD BX 0B2H CX 4 用位移量为 0524H 的直接寻址方式把存储器中的一个字与立即数 3C5AH 相加 并把 结果送回该存储单元 答 指令为 ADD 0524H 3C5AH 12 已知堆栈段寄存器 SS 的内容是 0FF0AH 堆栈指针寄存器 SP 的内容是 0008H 先执行 两条把 8057H 和 0F7CH 分别进栈的 PUSH 指令 再执行一条 POP BX 指令 试画出堆栈区和 SP 的内容过程变化示意图 标出存储单元的物理地址 答 将 8057H 和 0F7CH 分别进栈后 SP 0004H 再执行一条 POP BX 指令后 SP 0006H BX 0F7CH 堆栈区和 SP 的内容过程变化示意图如下 7 C H 0 F H 5 7 H 8 0 H H H H 7 C H 0 F H 5 7 H 8 0 H H H H 0FF0A0H 0FF0A1H 0FF0A2H 0FF0A3H 0FF0A4H 0FF0A5H 0FF0A6H 0FF0A7H 0FF0A8H H 0FF0A9H H 0FF0AAH H SP SP 0008H SP 0004H SP SP 0006H SS 0FF0AH SP 课后答案网 w w w k h d a w c o m 13 字节扩展指令和字扩展指令用在什么场合 举例说明 答 用在除法运算中 对带符号数的被除数进行扩展 例如 当被除数在 AX 中 除数在 BX 中时 CDW IDIV BX 14 写出执行以下计算的指令系列 其中 X Y Z R W 均为存放 16 位带符号数单元的 地址 1 Z W Z X 答 指令系列如下 MOV AX Z SUB AX X ADD AX W MOV Z AX 2 Z W X 6 R 9 答 指令系列如下 ADD X 6 SUB R 9 MOV AX W SUB AX X SUB AX R MOV Z AX 3 Z W X Y 6 R 余数 答 指令系列如下 MOV AX W IMUL X MOV BX Y ADD BX 6 IDIV BX MOV R DX 4 Z W X 5 Y 2 答 指令系列如下 MOV AX W SUB AX X CDW IDIV 5 IMUL Y IMUL 2 ADD DX CF MOV Z AX 15 写出完成以下操作的程序段 假设各变量的值均为用压缩 BCD 码表示的二位十进制数 1 U V S 6 答 程序如下 课后答案网 w w w k h d a w c o m MOV AL S SUB AL 6 DAS ADD AL V DAA MOV U AL 2 U X W Z V 答 程序如下 MOV AL Z SUB AL V DAS MOV BL AL MOV AL X ADD AL W DAA SUB AL BL DAS MOV U AL 16 移位指令和循环移位指令在执行操作时 有什么差别 在编制乘除法程序中 为什么常 用移位指令来代替乘除法指令 试编制一个程序段 实现 CX 中的数除以 4 结果仍放在 CX 中 答 逻辑移位指令用于无符号数的移位 左移时 最低位补 0 右移时 最高位补 0 算术移位指令用于对带符号数的移位 左移时 最低位补 右移时 最高位的符号在右移 的同时 且保持 小循环移位指令 ROL ROR 是只对目标操作数进行循环 即不含 CF 的左 右移循环移位 大循环移位指令 RCL RCR 是把标志位 CF 也包含在循环中的左 右移循环移位 对于二进制数 左移一位相当于乘二 右移一位相当于除二 所以可以用移位指令来代替乘 除法指令 SAR CX 1 CX 算术右移一位 除二 SAR CX 1 CX 算术右移一位 除二 17 在 0628H 单元处有一条二字节指令 JMP SHORT OBJ 如果其中位移量为 27H 6BH 0C6H 试问转向地址处的值为多少 答 段内短转移的把当前的 IP 值 即 JMP 指令的下一条指令的地址 与指令指定的 8 位偏 移量之和送到 IP 使程序运行发生转移 指令中的 OBJ 是一个带符号的八位偏移量 当 OBJ 27H 时 转移的目标地址值为 0651H 当 OBJ 6BH 时 转移的目标地址值为 0692H 当 OBJ 0C6H 时 转移的目标地址值为 05F0H 18 带参数的返回指令用在什么场合 设栈顶地址为 4000H 当执行 RET 0008H 后 SP 指 针的值是多少 答 当调用程序为子程序提供一定的参数或参数的地址 这些参数是通过堆栈传递给子程序 时 在子程序运行结束返回时 这些参数或参数地址已经没有在堆栈中保留的必要 因此 使用 带参数的返回指令 RET n 以便废弃一些 CALL 指令执行前入栈的参数 课后答案网 w w w k h d a w c o m 设栈顶地址为 4000H 当执行 RET 0008H 后 执行 SP SP n 的操作 SP 4008H 19 假定 AX 和 BX 中内容为带符号数 CX 和 DX 中的内容为无符号数 请用比较指令和 条件转移指令实现以下判断 1 若 DX 的内容高于 CX 的内容 转去执行 EXCEED 2 若 BX 的内容大于 AX 的内容 转去执行 EXCEED 3 若 CX 的内容等于零 转去执行 ZERO 4 若 BX 的内容小于等于 AX 的内容 转去执行 EXCEED 5 若 DX 的内容低于等于 CX 的内容 转去执行 EXCEED 答 CMP DX CX JA EXCEED CMP BX AX JG EXCEED CMP CX 0 JZ ZERO CMP BX AX JLE EXCEED CMP DX CX JBE EXCEED 20 分析下列程序段 ADD AX BX JNO L1 JNC L2 SUB AX BX JNC L3 JNO L4 JMP SHORT L5 如果 AX 和 BX 的内容 带符号数 给定如下 AX BX 1 B568H 54B7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025布艺产品研发、生产、销售及品牌授权合同
- 2025年金属氧化物买卖合同书样本
- 2025版新型消费金融借款利息调整协议
- 2025版高科技设施维护保养服务合同范本
- 2025年度土地租赁与买卖合同范本
- 2025版智能穿戴设备入股合伙协议书
- 贵州省思南县2025年上半年公开招聘城市协管员试题含答案分析
- 时尚搭配服装赛事方案
- 身体符号化空间-洞察及研究
- 2025年审计师初级面试核心题及答案
- 小学数学教师业务水平考试试题
- 安全文明施工措施费支付申请表实用文档
- 杨式85式太极拳现用图解
- 汽车电控发动机构造与维修(第三版)
- YY/T 1095-2015肌电生物反馈仪
- GB/T 328.13-2007建筑防水卷材试验方法第13部分:高分子防水卷材尺寸稳定性
- GB/T 2480-2022普通磨料碳化硅
- 茶叶实践报告3篇
- 细胞生物学实验课件:细胞组分的分级分离
- 胸腔穿刺术thoracentesis课件
- 合理选择影像检查方法课件
评论
0/150
提交评论