汇编语言程序设计课后习题解答宋人杰2版.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
《汇编语言程序设计》是计算机科学领域中一门重要的课程,主要涉及计算机底层运作和程序设计的基础知识。本文将详细解析课后习题中的关键概念和知识点。 1. 汇编语言源程序、汇编程序和目标程序的关系: 汇编语言源程序是由程序员用汇编语言编写的代码,它包含了一系列的指令和伪指令。汇编程序是用于将源程序翻译成机器语言的工具,将源程序转换成目标程序,这个目标程序是由计算机能够直接执行的二进制代码组成。 2. 汇编语言的优缺点: 优点: (1) 直接访问硬件资源,能高效控制硬件设备。 (2) 生成的目标代码紧凑,运行速度快。 (3) 可与高级语言混合编程,扩展应用范围。 缺点: (1) 通用性和可移植性较差,因为依赖于特定的处理器架构。 (2) 编程相对复杂,易出错且不直观。 3. CPU寻址能力与地址总线宽度: 如果CPU的寻址能力为8KB(即8 * 1024字节),则需要13位地址来表示所有可能的内存位置,因此地址总线宽度为13位。 4. 1KB存储器的存储单元数量: 1KB等于1024字节,所以有1024个存储单元。 5. 指令中的逻辑地址组成: 逻辑地址由段基址和偏移量两部分构成。 6. 物理地址计算: (1) 12F8:0100 -> 13080H (2) 1A2F:0103 -> 1A3F3H (3) 1A3F:0003 -> 1A3F3H (4) 1A3F:A1FF -> 245EFH 7. 数据类型与地址解析: 内存中的数据按字节、字或双字进行存储,例如12FA:0002处的字节型数据为11H,字型数据为0A311H,双字型数据为0113A311H。 8. 物理地址与段内偏移地址计算: 物理地址=段基址*16 + 偏移地址。 (1) 若段基址为1916H,偏移地址为01B8H。 (2) 若段内偏移地址为2228H,段基地址为170FH。 9. 实模式下的段最大长度与内存寻址范围: - 段最长为64KB(64 * 1024字节)。 - 实模式可寻址的内存范围是1MB(1 * 1024 * 1024字节)。 10. 变量与标号的含义和区别: - 标号是表示指令地址的符号,存在于代码段。 - 变量是数据存储单元的符号名,存在于数据段或其他非代码段。 - 主要区别在于变量指代数据,标号指代指令地址。 11. 变量和标号的属性: - 段属性:指定数据或指令所在的段地址。 - 偏移属性:在段内的具体位置。 - 类型属性:数据的大小和类型。 12. 伪指令与指令的区别及用途: - 伪指令在汇编时被处理,不直接由CPU执行。 - 用途包括设置处理器模式、定义数据、分配存储、指示程序起止等。 13. 数值返回运算符与 LENGTH 和 SIZE 的区别: - 包括SEG、OFFSET、TYPE、LENGTH和SIZE等运算符。 - LENGTH返回变量的元素个数,而SIZE返回变量占用的总字节数。 14. 数据定义与内存存放形式: (1) ARR1: 6, 34H, -7 以字节形式存储。 (2) ARR2: 3C5DH, 1, ? 以字形式存储。 (3) ARR3: 重复结构,先1, 2, 再2, 5重复两次,最后是3。 (4) ARR4: 'HELLO' 以字节存储ASCII码。 (5) ARR%: '1234'06H34HF9H 以字节存储ASCII码和额外字节。 15. 变量定义语句: (1) BUF1 DB 20 DUP (?) 分配20个字节的缓冲区。 (2) BUF2 DB 'ABCD' DB '1234' 存放字符串'ABCD'和'1234'。 16. 计算符号LT的值: BUF和EBUF之间的距离是7字节,所以LT=7。 17. 计算T的值及其意义: T的值是$-A,表示从A到当前位置的字节数。假设A到当前位置的字节数是12,那么T=12,意味着A到B的存储区域占用12字节。 以上就是《汇编语言程序设计》课后习题中涉及的关键知识点,涵盖了汇编语言的基础概念、地址计算、数据存储和程序设计等多个方面。学习这些知识有助于深入理解计算机底层原理和程序设计。
- 粉丝: 0
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助