bestainan 发表于 2013-10-26 05:25:12

LinuxDeepin 发表于 2013-10-26 05:25:13

本帖最后由 LinuxDeepin 于 2013-10-26 21:52 编辑

db 定义字节数据,占用一个字节,有效数值从0~255

db '1234' 单引号内的数字代表字符串,并不代表数值。每一个字符占用一个字节
                例如: 1 占用一个字节,内存中存储该数值的 ACSII 码,如 31H
                            2 占用一个字节,内存中存储该数值的 ACSII 码,如 32H

db 1234   这个才是超过有效数值,因为没有双引号。此时应当使用 dw 定义字形数据,dw 为十六位
               有效数值从 0~65535


yypt1991 发表于 2013-10-26 14:09:47

同意楼上的

血狼 发表于 2013-10-26 14:13:29

楼主可以这么理解:
当你用db定义某个值是,只是为这个数据开辟一段空间而已

LinuxDeepin 发表于 2013-10-26 20:12:46

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]
查看完整版本: 问个比较白痴的问题