【问题标题】:ARM assembly variable declarationARM 汇编变量声明
【发布时间】:2016-01-05 14:35:40
【问题描述】:

您好,我对声明变量的顺序有疑问。 小例子。 如果在声明中我写:

    .data
    .align  0
res:    .long 0
num:    .long   7
var2:   .short  30

程序可以运行,但如果我写这个:

    .data
    .align  0
    res:    .long 0
    var2:   .short  30
    num:    .long   7

程序不工作: 比如我不会做一个简单的

ldr     r5, =num
ldr     r5, [r5]

使用第二种配置。错误是:“0x20010”没有可用的源

我在处理器 am335x 上使用 eclipse 谢谢

【问题讨论】:

  • 这看起来像是对齐问题,但错误信息很奇怪。
  • 什么是对齐问题?我不太明白.aling的含义
  • 这看起来更像是来自调试器的消息,由于断点或信号而停止并试图显示它停止的指令的源代码行,而不是实际上导致它在第一个停止的任何错误地点。
  • 已解决,如果有人感兴趣,我在这里解释一下:是对齐问题,因为我很难说有一次你编写指令 .aligne 这是针对所有下一个命令的,但不是那样的.因此,如果我在 num 之前写 .aligne 4 就可以了

标签: variables assembly arm cortex-a8


【解决方案1】:

已解决,如果有人感兴趣,我在这里解释一下:这是对齐问题,因为我坚持认为,一旦您编写了指令 .aligne,这将适用于所有下一个命令,但不是那样的。所以如果我在 num 之前写 .aligne 4 就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多