野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1165|回复: 2

51汇编定义数组,只要不放在最后,程序就会卡死

[复制链接]
发表于 2023-12-7 18:50:05 | 显示全部楼层 |阅读模式
51汇编,写了一个数码管显示程序程序,定义了两个数组,放在图示位置会卡死,而且离谱的是,定义一个数组不会卡死,定义两个就会卡死,放到最后面程序就能能正常运行,debug时,到数组定义的位置,PC指针会溢出,然后卡死,debug提示错误和代码如下:
野火论坛202312071847143761..jpg 野火论坛202312071848062655..png 野火论坛202312071849223335..png 野火论坛202312071849426108..png


野火论坛202312071847351698..jpg
野火论坛202312071847212490..jpg
回复

使用道具 举报

发表于 2023-12-13 10:56:07 | 显示全部楼层
call改成ACALL试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-19 20:08:43 | 显示全部楼层
问题解决了,是因为keil的汇编器,会把放在中间的数组当成指令执行,导致卡死,正常来说,加了伪指令DB就可以防止误识别的,但是keil的汇编器有时可能会联系上下文解释代码,仍然可能出现卡死
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-27 12:04 , Processed in 0.113444 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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