汇编语言,把ASC码转换为十六进制数,能帮我解释一下这个两句指令的含义吗,为什么要减去7或30?

2025-05-21 09:33:08
推荐回答(2个)
回答1:

16 进制数,共有 16 个数字,分别是:0~9、A~F。

把数字变成 ASCII 码时,

0~9,只要加上 30H,得到 30H~39H。
A~F,却要加上 37H,得到 41H~46H。

查 ASCII 码表,即可知道这个规律。

反过来变,就是减去 30 或 37H。

楼主的程序,是针对 'A'~'F',先减去7,再
和 '0'~'9' 一起,统一减去 30H。

回答2:

数字转换为ASCII码=数字+30H
反过来就减去30H