我有两个问题:
我的意思是当我们说
var db 31H
如何确定要说字符a还是要说数字31H。
为什么这个应用程序会这样?
1- a db 4 dup(41h)
2- b dw 2 dup(4141h)
我以为这两行将以相同的方式运行,但是在第二行中,当我想查看变量时,它们将是8个8位,而每一个都是41h。
但这一定是有问题的,因为dw是2 8位,而我们说是2由8位组成,它必须是4 8位而不是8 8位。
答案 0 :(得分:2)
第一个问题的答案很简单:在计算机的内存中,没有ASCII,没有数字,没有图像……只有位。 31H
代表位00110001
的字符串;仅此而已。
只有当您对这些位进行某些操作(将它们显示在屏幕上,在数学运算中使用它们等)时,您才将其解释为含义1
(在ASCII中会这样) ,或a
(采用其他字符编码)或49
(作为十进制数字)或调色板中特定的蓝色阴影。