标题: 请问各位老大,Keil C51中,语句标号最多定义到几位? [打印本页]

作者: newlined    时间: 2024-5-30 09:18
标题: 请问各位老大,Keil C51中,语句标号最多定义到几位?
如题:就是程序中,语句标号,比如   Loop:MOV A,#00;中的Loop,最多可以定义到几位?一个程序,总是乱跑,我有些怀疑语句是不是定义的过长,不识别了?但是按说这样编译就应该出错,请各位老大说明下,谢谢。

作者: newlined    时间: 2024-5-30 11:06
我有些语句的标号到了15位,是否可以?
作者: yzwzfyz    时间: 2024-5-30 11:56
取决于编译平台的许可,这里要看Keil C51的说明。
我也不知,但有此经验:
最早的平台是8个字节,现在不会低于16位。超过的部分尾部无效。
早先不允许中文,现在可以了。但可能不是所有的平台都一样。
不管如何,只能两种限制:
1、字符数
2、字符的形式(如禁用的关键字、内部字、非ASCII符、控制符)
避免麻烦的方案:前8(或16)个字符有作区分。不用2、()中的字符形式。

程序乱跑,多半不是标号的问题。因为符号重叠时,会报警。

作者: zhuls    时间: 2024-5-30 12:12
不管3位、5 位还是35位,编译后就是一个地址。
所以你放心大胆地用吧。
作者: xiaobendan001    时间: 2024-5-30 13:23
标号用于跳转,跳来跳去就会乱的。所以不要乱跳。话说为啥还要研究汇编啊。
作者: newlined    时间: 2024-5-30 17:05
yzwzfyz 发表于 2024-5-30 11:56
取决于编译平台的许可,这里要看Keil C51的说明。
我也不知,但有此经验:
最早的平台是8个字节,现在不 ...

谢谢您的回复,您说的对,问题已经找到,不在标号。
作者: newlined    时间: 2024-5-30 17:05
zhuls 发表于 2024-5-30 12:12
不管3位、5 位还是35位,编译后就是一个地址。
所以你放心大胆地用吧。

是的,谢谢。
作者: newlined    时间: 2024-5-30 17:06
xiaobendan001 发表于 2024-5-30 13:23
标号用于跳转,跳来跳去就会乱的。所以不要乱跳。话说为啥还要研究汇编啊。

以前的一个程序,用了多少年了,还在跑




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1