找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4006|回复: 3
收起左侧

arm汇编全局变量怎么用啊?

[复制链接]
ID:98591 发表于 2017-8-5 15:12 | 显示全部楼层 |阅读模式
使用    GBLA NUMBER
NUMBER SETA 0X00
;进行初始化后,我在一个中断子程序里调用数值变量NUMBER。怎么修改这个变量的值?我把NUMBER看成一个标号(地址),使用
LDR R3,NUMBER;这里会出错,提示没有定义或外部的。..\user\start.s(79): error: A1150E: Bad symbol, not defined or external
STR R0,[R3]

回复

使用道具 举报

ID:98591 发表于 2017-8-5 16:54 | 显示全部楼层
NUMBER SETA XXX只能初始化值,并不能在程序运行时修改变量的值
回复

使用道具 举报

ID:98591 发表于 2017-8-6 12:01 | 显示全部楼层
找了一天多才在别人的c编译分析里找到了答案。全局变量名(标号)写在数据段里。那个GBLA伪指令害死我了,找错方向。
回复

使用道具 举报

ID:727235 发表于 2020-4-11 22:37 | 显示全部楼层
小蜜蜂o 发表于 2017-8-6 12:01
找了一天多才在别人的c编译分析里找到了答案。全局变量名(标号)写在数据段里。那个GBLA伪指令害死我了, ...

l楼主我也遇到了这个问题,我是用汇编指令写的,GBLA定义的全局变量,我想将寄存器R1的值赋用LDR给全局变量MIN,但是报错出现bad register name symbol,怎么实现赋值啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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