打印

请教ARM汇编 keil 编译提示

[复制链接]
2540|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
itelectron|  楼主 | 2014-3-30 08:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FUN1                               
                LDR        R0, =0x20000388
                LDR        R1, =0x20000988
                LDR        R2, =0x20000588
                LDR        R3, =0x20000588
                BX        LR

main.asm: error: A1284E: Literal pool too distant, use LTORG to assemble it within 4KB

相关帖子

沙发
zchong| | 2014-3-30 19:15 | 只看该作者
A1284E
Literal pool too distant, use LTORG to assemble it within 4KB
For ARM code, the literal pool must be within 4KB of the LDR instruction to access it. To solve this, add an LTORG directive into your assembler source file at a convenient place.
See the following in Using the Assembler:
Load addresses to a register using LDR Rd, =label.
See the following in the Assembler Reference:
LTORG.

使用特权

评论回复
板凳
ayb_ice| | 2014-3-31 08:49 | 只看该作者
这是个伪指令,应该是说目标太远,只能在4KB内

在附近内存里定义常量然后加载,

不过应该不会出错的,这些都是汇编器自动处理的

使用特权

评论回复
地板
lr2131| | 2014-3-31 11:08 | 只看该作者
关注,帮顶

使用特权

评论回复
5
itelectron|  楼主 | 2014-4-3 21:45 | 只看该作者
FUN_8                                
                LDR        R0, =0x20000388
                LDR        R1, =0x20000988
                LDR        R2, =0x20000588
                LDR        R3, =0x20000588
                BX        LR


; ---------------------------------------------------------------------------
                DCB    0
                DCB    0
                DCB 0x31
                DCB    1
                DCB    0
                DCB    8
dword_1         DCD 0x20000388
dword_2         DCD 0x20000988
dword_3         DCD 0x20000588
dword_4         DCD 0x20000588

使用特权

评论回复
6
itelectron|  楼主 | 2014-4-3 21:46 | 只看该作者
问题还是 没有解决 继续求助

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:MARK: zhi kan ji shu

274

主题

2762

帖子

8

粉丝