db 定义字节数据,占用一个字节,有效数值从0~255
db '1234' 单引号内的数字代表字符串,并不代表数值。每一个字符占用一个字节
例如: 1 占用一个字节,内存中存储该数值的 ACSII 码,如 31H
2 占用一个字节,内存中存储该数值的 ACSII 码,如 32H
db 1234 这个才是超过有效数值,因为没有双引号。此时应当使用 dw 定义字形数据,dw 为十六位
有效数值从 0~65535
同意楼上的 楼主可以这么理解:
当你用db定义某个值是,只是为这个数据开辟一段空间而已 db '1234' 和 db 1234 的区别你要分清楚
db '1234' 是字符串
db1234是数值
例如仓库里有0~255个箱子(字节):
db '1234' 从代码角度看,这是四个字符,分别是 1 2 3 4 ,一个字符要用一个字节来存放,db 已经说明了
相当于在四个箱子里分别存放: 1 (31H)、2 (32H)、3 (33H)、4 (34H),一个字符占用一个箱子(字节)
db1234从代码角度看,这是一个数值,1234 ,一个数值用一个字节来存放,db 已经声明用一个字节存放了
相当于在一个箱子(字节)里存放 1234 个数字,而一个箱子最多只能放 0~255 个数值,那么多余的就放不下了。
页:
[1]