找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 472|回复: 7
收起左侧

请问各位老大,Keil C51中,语句标号最多定义到几位?

[复制链接]
ID:227818 发表于 2024-5-30 09:18 | 显示全部楼层 |阅读模式
如题:就是程序中,语句标号,比如   Loop:MOV A,#00;中的Loop,最多可以定义到几位?一个程序,总是乱跑,我有些怀疑语句是不是定义的过长,不识别了?但是按说这样编译就应该出错,请各位老大说明下,谢谢。
回复

使用道具 举报

ID:227818 发表于 2024-5-30 11:06 | 显示全部楼层
我有些语句的标号到了15位,是否可以?
回复

使用道具 举报

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

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

使用道具 举报

ID:69038 发表于 2024-5-30 12:12 | 显示全部楼层
不管3位、5 位还是35位,编译后就是一个地址。
所以你放心大胆地用吧。
回复

使用道具 举报

ID:1109793 发表于 2024-5-30 13:23 | 显示全部楼层
标号用于跳转,跳来跳去就会乱的。所以不要乱跳。话说为啥还要研究汇编啊。
回复

使用道具 举报

ID:227818 发表于 2024-5-30 17:05 | 显示全部楼层
yzwzfyz 发表于 2024-5-30 11:56
取决于编译平台的许可,这里要看Keil C51的说明。
我也不知,但有此经验:
最早的平台是8个字节,现在不 ...

谢谢您的回复,您说的对,问题已经找到,不在标号。
回复

使用道具 举报

ID:227818 发表于 2024-5-30 17:05 | 显示全部楼层
zhuls 发表于 2024-5-30 12:12
不管3位、5 位还是35位,编译后就是一个地址。
所以你放心大胆地用吧。

是的,谢谢。
回复

使用道具 举报

ID:227818 发表于 2024-5-30 17:06 | 显示全部楼层
xiaobendan001 发表于 2024-5-30 13:23
标号用于跳转,跳来跳去就会乱的。所以不要乱跳。话说为啥还要研究汇编啊。

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表