输入、输出都是ASCII值,而内存中存放和运算的数都是十六进制数。
比如输入7,内存中实际存放的是37H;如果ax中存放7,直接输出的话就是7H对应的ASCII值。
但如果是mov ax,7 此时ax中存放的是37H(系统直接把十进制数转换成十六进制数了)
如果是mov ax,7H 此时ax中存放的是7H
网上查找的。
我记得anscii的48代表数字0,65代表大学字母A,97代表小写字母a.
7对应的ascii码值是55,对应的十六进制是37,
0对应的ascii码是48,对应的十六进制是30.
我就豁然开朗了,一比较就发现了规律。
减30H,意思是将字符型转换为数字比如1,字符型是31H,减去30H就为1.