一个懒人专用文章归档神器,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分 Bala~bala~

汇编语言db ‘book’,0中的0是什么意思?

汇编 懒人 1784℃ 0评论

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是什么意思?

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址