汇编语言 小问题 定义一个字符串 string BYTE "hello",0 请问逗号后面
发布网友
发布时间:2022-04-30 17:19
我来回答
共2个回答
热心网友
时间:2023-10-09 04:47
在汇编语言中,其实没有“字符串”这么一个语法概念。
“字符串”这个词,是从高级语言中借用过来的。
“字符串”这个词,也在一些使用汇编语言的DOS系统功能之类的地方用到,它是DOS定义的外来名词,不是汇编语言自身就有的。
汇编语言中,只有字节、字等等类型的变量定义。
若我们在定义字节类型的变量时,用了多个字符组成的字符表达式,一般就按高级语言的习惯称呼,说它是一个“字符串”。
一个“字符串”用什么样的方式或格式组织,汇编语言没有任何规定。
因为在“汇编语言“的眼中,根本就不存在”字符串”这种东西。
在用户的程序中,如何定义“字符串”,是用户程序按功能要求决定的。
比如,要使用DOS系统功能调用的09H号功能显示一串字符,DOS规定必须用'$'作为结束标志。
若是用作文件名,则DOS要求必须是以0结尾的一串字符(称为 fileZ 串)。
你的问题中,用 0 作为一串字符的结束标志,是程序中需要用 0 这个值判断字串是否到了结尾处。
也就是说,这个 0 是这个程序为了功能需要自行规定的。
如果你将它改成其它值,比如 01H,也是可以的。只是这样的话,就需要修改程序代码,将判定比较指令中的参考值从 0 改成 1
原则上,程序编写者为自己的程序中的字符串选用字符串结束标志字符时,应当使用字符串里用不到的、不会干扰影响相应功能的、特殊的字节数据作为结尾的标记。
0 ,就是最特殊的一个值,因而也是最常用的。
其它非零值中,FFH(-1)也是一个选择。有些时候还会选'$'字符(DOS功能调用的约定),或者用0DH(回车符)等等
热心网友
时间:2023-10-09 04:47
字符串是以0结尾的追问字符串是hello 不是以英文字母o结尾的吗?
追答数字0结尾