【问题标题】:What does .align in ARM architecture.align 在 ARM 架构中是什么
【发布时间】:2014-12-17 15:15:54
【问题描述】:

我是汇编级编码的新手,所以我有点困惑 .align 的作用。我已经在很多地方查找了它的作用。https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/ok05.html 在此链接中,页面右侧的红色框中给出了关于 .align 的描述。我推荐的另一个地方是http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Babecdje.html。地址是 4 字节对齐还是 8 字节对齐是什么意思?

如果我在代码中使用以下说明

.align 4
pattern:

那么确实意味着分配给模式的地址将采用 4*n 或 16*n ( 2^4 = 16) 的形式。

【问题讨论】:

  • 您忘记提及您使用的是哪个汇编程序。它可以是您提到的两种可能性中的任何一种,具体取决于汇编程序。查阅相应的手册,不要随便google ;)
  • 我使用 arm-linux-gnueabi-as 命令编译汇编代码。
  • 然后查看gnu as manual。它说您将在arm 上获得2^n 对齐。

标签: assembly arm gnu-assembler


【解决方案1】:

如果一个地址可以被 n 整除,则称该地址为“n-字节对齐”。

这也可以表示为“一个地址是 2m-字节对齐的,如果它最右边的 m 位全为零”。

对齐是非常常见的要求,即硬件要求作为其编程模型的一部分,始终遵守某些对齐要求。否则可能会导致硬故障,即处理器停止。

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    • 2010-09-23
    • 2012-02-09
    • 1970-01-01
    • 2018-08-16
    • 2012-06-10
    相关资源
    最近更新 更多