第1章 汇编语言基础
1. IA-32处理器有哪三类基本段,各是什么用途?
段类型 | 寄存器 | 主要用途 | 特点 |
---|---|---|---|
代码段 (CS) | CS | 存储可执行指令 | 执行权限,通常只读,与 IP/EIP/RIP 配合,确定指令地址 |
数据段 (DS, ES, FS, GS) | DS, ES, FS, GS | 存储程序数据 (变量, 数据结构等) | 读写权限,多个寄存器用于不同用途的数据访问 |
堆栈段 (SS) | SS | 实现堆栈数据结构 (函数调用, 临时数据, 中断处理) | 堆栈操作 (PUSH/POP),与 SP/ESP/RSP 配合,实现堆栈管理,通常向下增长 |
官方答案解析:
IA-32处理器有代码段、数据段、堆栈段三类基本段。
- 代码段:存放程序的指令代码。程序的指令代码必须安排在代码段,否则将无法正常执行。
- 数据段:存放当前运行程序所用的数据。程序中的数据默认是存放在数据段,也可以存放在其他逻辑段中。
- 堆栈段:主存中堆栈所在的区域。程序使用的堆栈一定在堆栈段。
2. 汇编语言语句有哪两种,每种语句由哪4个部分组成?
官方答案解析:
汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。
- 执行性语句由标号、指令助记符、操作数和注释4个部分组成。
- 说明性语句由名字、伪指令助记符、参数和注释4个部分组成。
语句类型 部分1 部分2 部分3 部分4 执行性语句
(处理器指令)
标号 (Label) 指令助记符
(Instruction Mnemonic)
操作数 (Operand) 注释 (Comment) 说明性语句
(伪指令)
名字 (Name) 伪指令助记符 参数 (Parameter) 注释 (Comment
3. 汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。
官方答案解析:
- 编辑:用文本编辑器形成一个以ASM或s为扩展名的源程序文件。
- 汇编:用汇编程序将ASM文件转换为目标文件,扩展名是.p或.obj
- 连接<