book是单词。最后会加0,这个0是字符串结束字符,以后处理的时候有用。
就是普通数据: 0
没有什么忒别含义
db ‘hello’,0
经过汇编编译后,生成数据:
68 65 6C 6C 6F 00
h e l l o 0
最后两个0就是代码db ‘hello’,0中0的编译结果
C语言中标准字符串的结尾
对C语言或者汇编语言的字符串来说,只用一个基本数据类型去表示一个字符串,这会存在一个问题,那就是无法保存这个字符串的长度,换句话说我们不知道一个字符串是在哪里结束的。
所以C语言就规定以 0(或者’\0′ 本质上就是数字0)来表示一个字符串的结尾,这样就可以用一个基本数据类型去表示一个字符串了,字符串处理函数 strcat这些都是以这个0做为字符串结尾判定标致的,当然这个规则也被用在了汇编中(因为现在的汇编都要尽量与上层兼容,早期DOS时代的结束符是美元号$)。现在一般把这种字符串叫做ANSI字符串!
在高级编程语言比如C# C++中 有专门处理字符串的数据类型,实际上都有一个字段是用来保存长度或者结束位置的。
转载请注明:懒人档案室 » 汇编语言db ‘book’,0中的0是什么意思?