【发布时间】:2011-03-16 13:57:14
【问题描述】:
我正在使用 llvm-clang 编译器,将简单的 C 函数编译为 ARMv7-A 处理器上的汇编。我试图弄清楚这条指令的作用。
SUB sp, sp, #65, 30
显然它在堆栈指针上为一些局部变量腾出空间,但我从未见过带有四个操作数的 ARM SUB 指令。我猜测 30 以某种方式修改了 #65,但我不知道如何,并且我无法在 ARM 架构参考手册中找到详细信息。有什么建议吗?
出于好奇,这是一个创建 8 x 8 整数单位矩阵的程序的开头,所以我预计 sp 需要在堆栈上为至少 8 x 8 x 4 字节腾出空间。
【问题讨论】: