8086汇编指令系统详解与习题解析

需积分: 20 1 下载量 76 浏览量 更新于2024-07-31 收藏 265KB DOC 举报
"新版汇编语言程序设计的课后习题答案,主要涵盖了8086汇编指令系统,包括数据的移动、寻址方式以及错误识别等知识点。" 在汇编语言程序设计中,8086的指令系统是基础,本资料提供了第二章的相关习题及解答,帮助学习者理解和掌握汇编指令。以下是习题中涉及的一些关键知识点: 1. 数据移动指令: - `MOV`指令用于在寄存器和内存之间或者寄存器之间移动数据。例如,(1) 直接赋值给AX寄存器,(2) 将BX寄存器的内容移动到AX,(3) 从内存地址BX中加载数据到AX,(4) 从BX加偏移地址的内存位置加载数据到AX。 2. 寻址方式: - 有效地址(EA)计算涉及基址(BX)、索引(SI)、偏移量以及可能的变址。例如,(5) 使用BX加绝对地址1100H,(6) BX与SI组合,(7) BX、SI和1100H组合,这些都涉及到不同的寻址模式。 3. 错误识别: - 指令执行错误通常涉及操作数类型不匹配、禁止访问的寄存器(如IP)、立即数不能作为某些操作的目标、段寄存器之间的传输限制等。例如,(1) CX和DL类型不匹配,(2) IP不能被直接赋值,(3) 立即数不能传给段寄存器,(4) 段寄存器之间不能直接传输,(5) 类型不匹配,(6) SP应通过[SI]间接访问,(7) 源操作数应为[BX+DI],(8) 立即数不能作为目的操作数。 4. 其他指令: - `XLAT`指令用于根据AL寄存器中的值在内存中查表,将查找到的值放入AL。在这个习题中,展示了如何将数值8转换为对应的格雷码12H。 5. 格雷码: - 格雷码是一种非连续的二进制编码,用于减少数字变化时引起的错误。习题中给出了一组数字到其对应的格雷码的转换。 通过解答这些习题,学习者可以深入理解8086汇编指令系统中的基本操作,掌握如何正确使用寻址方式,并了解程序中可能出现的错误类型。此外,熟悉格雷码的转换也有助于理解二进制编码在实际应用中的重要性。