在汇编语言中,寄存器 `AL` 的大小是 8位,其值以 十六进制表示,以 `H` 结尾。例如:
`MOV AL, 17H` 表示将十六进制数 `17H`(即十进制的 23)存入 `AL` 寄存器,二进制表示为 `0001 0111`。
需要说明的是:
1. 汇编语言中的数值常量默认以 十六进制表示,如 `17H` 表示 23,而 `17`(无后缀)会被解释为十进制数 17;
2. 寄存器 `AL` 的二进制宽度始终为 8 位,无论存储的数值是几位十六进制数。例如,`68H`(十进制 104)和 `28H`(十进制 40)分别用 8 位二进制表示为 `0100 1000` 和 `0010 1000`。
补充说明:
BCD码表示:在8051等微控制器中,`AL` 可以存储压缩BCD码(如 `68H` 表示 68)或非压缩BCD码(如 `09H` 表示 9)。压缩BCD码用4位表示一个十进制数,非压缩BCD码用8位表示;
运算规则:BCD码加法需先进行4位加法,再通过 `AAA` 指令调整进位,例如 `68H + 28H` 需先计算 `0010 1000 + 0010 1000` 得到 `0101 0000`,再通过 `AAA` 调整为 `0110 0000`(即 `96H`)。