汇编语言符号和教材符号汇总
(8088/8086 IBM PC计算机)
" "∶教材符号
+、-、*、/∶算术运算符。
&∶宏处理操作符。宏扩展时不识别符号和字符串中的形式参数,如果在形式参数前面加上一个& 记号,宏汇编程序就能够用实在参数代替这个形式参数了。
$∶地址计数器的值——记录正在被汇编程序翻译的语句地址。每个段均分配一个计数器,段内定义的所有标号和变量的偏移地址就是当前汇编地址计数器的值。
### 汇编语言符号和教材符号汇总
#### 基础符号介绍
- **教材符号**: `""` 表示教材符号。
- **算术运算符**: `+`、`-`、`*`、`/` 分别表示加、减、乘、除运算。
- **宏处理操作符**: `&` 在宏处理中具有特定的作用。当宏扩展时,宏处理程序不会识别符号和字符串中的形式参数。如果想要让宏汇编程序能够用实际参数替换形式参数,可以在形式参数前加上一个`&`符号。
- **地址计数器**: `$` 表示地址计数器的值。这是记录正在被汇编程序翻译的语句地址的一种方式。每个段都分配有一个计数器,段内定义的所有标号和变量的偏移地址即为当前汇编地址计数器的值。
- **操作数**: `?` 用于数据定义语句中,其作用是分配并保留存储空间,但并不存入确定的数据值。
- **等号伪指令**: `=` 功能类似于`EQU`,用于定义和赋值符号,且允许重复定义。
- **修改属性运算符**: `:` 用于临时给变量、标号或地址表达式指定一个段属性,生成一个“跨段前缀字节”。
- **注释符号**: `;` 用于添加注释。
- **特殊宏操作符**: `%` 将其后的表达式转换成它所代表的数值,并将此数值的ASCII码嵌入到宏扩展中。
- **括号**: `()` 可以改变运算符的优先级,也可作为教材符号表示括号内存储单元(或寄存器)的内容。
- **尖括号**: `<>` 用于宏调用时,将带有间隔符(如空格、逗号等)的字符串括起来。
- **方括号**: `[]` 有两种用途:
- 作为运算符,用于表示数组变量的下标或地址表达式。规则如下:
- 只有BX、BP、SI、DI这四个寄存器可以在方括号内出现;
- BX或BP可单独出现,也可以与常数、SI或DI一起出现,但不允许BX和BP或SI和DI同时出现在同一方括号内;
- 如果方括号内包含BP,则隐含使用SS,否则默认使用DS。
- 作为教材符号,表示内容可省略。
- **列表伪指令**: `.LIST` 用于开启列表文件输出。
- **基数伪指令**: `.RADIX` 用于更改默认基数为2-16范围内的任意基数。该指令不影响DD、DQ、DT伪指令中的数值,默认视为十进制。
- **关闭列表伪指令**: `.XLIST` 用于关闭列表文件输出。
- **输出伪指令**: `%OUT` 用于在汇编时显示其后跟随的信息。
#### 指令助记符
- **AAA(Add ASCII Adjust)**:
- 助记符表示加法运算后的ASCII调整(非压缩的BCD码)。
- 不需要操作数,调整的加法结果位于AL中。
- 当AL的低四位表示的数大于9或AF=1时,将AL加6,AH加1,并使AF和CF置位,同时清除AL中的高四位。
- **AAD(ASCII Adjust After Division)**:
- 在执行除法操作前,利用AAD指令将非压缩型BCD码表示的数转换成二进制数送AL。
- 步骤包括将被除数的高位数(AH中的内容)乘以10,然后加到AL的低位数中,并将AH清零。
- **AAM(ASCII Adjust After Multiply)**:
- 用于将字节乘法的积转换成两个合法的十进制非压缩码。
- AAM不带操作数,假定成绩在AH和AL中,并将调整后的非压缩码送回AH和AL。
- 为了保证AAM得到正确的结果,原始乘数和被乘数必须是合法的非压缩码。
- 指令执行时,AAM用10(0AH)除AL寄存器,并将除得的商和余数分别送AH和AL寄存器。
- **AAS(Subtract ASCII Adjust)**:
- 检查AL的低四位是否为合法的BCD码(0-9),如果合法就清除AL的高四位以及AF和CF标志。
- 当AL的低四位表示的数大于9或AF=1时,将AL减6,AH减1,并使AF和CF置1,同时清除AL中的高四位。
- **ADC(Add with Carry)**:
- 带进位加法,用于多字节数的高字节加法运算。
- 这个指令将两个操作数及CF中的进位位相加。
- **ADD(Add)**:
- 加法指令。参与运算的两个操作数应同时带符号或不带符号。
- 用于将两个操作数相加,并将结果存放在第一个操作数中。
这些符号和指令在汇编语言编程中扮演着重要的角色,帮助程序员更有效地控制和操作底层硬件资源。理解和掌握这些符号对于编写高效的汇编代码至关重要。