计算机数据表示、操作与内存访问组织
1. 数字字符的 ASCII 码及转换
ASCII 码是计算机中常用的字符编码方式,对于数字字符 0 - 9,其 ASCII 码有特定的十进制和十六进制表示,如下表所示:
| 字符 | 十进制 | 十六进制 |
| ---- | ---- | ---- |
| 0 | 48 | 30h |
| 1 | 49 | 31h |
| 2 | 50 | 32h |
| 3 | 51 | 33h |
| 4 | 52 | 34h |
| 5 | 53 | 35h |
| 6 | 54 | 36h |
| 7 | 55 | 37h |
| 8 | 56 | 38h |
| 9 | 57 | 39h |
数字字符 ASCII 码的低半字节(LO nibble)是该数字的二进制等价形式。通过将数字字符的高半字节(HO nibble)置为 0,可以将字符代码转换为对应的二进制表示;反之,将 0 - 9 的二进制值的高半字节置为 3,可将其转换为 ASCII 字符表示。可以使用逻辑与(AND)操作将高半字节置为 0,使用逻辑或(OR)操作将高半字节置为 0011b(3)。
不过,不能简单地通过去除字符串中每个数字字符的高半字节来将数字字符串转换为等效的二进制表示。例如,将 123(31h 32h 33h)按此方式转换会得到 3 个字节 010203h,但 123 的正确二进制值是 7Bh。上述转换方法仅适用于单个数字。
2. MASM 对 ASCII 字符的支持
MASM 在汇编语言程序中支持字符变量和
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



