|
|
1
7
30是65上的右旋转操作 向右旋转30位与向左旋转2位相同,其值与乘以4的值相同。65×4=260 所以这会从堆栈指针中减去260。 |
|
|
2
4
ARM设计为立即值分配12位,值分配8位,其余4位为向右旋转(重新设置旋转0 2 4个位置等)。因为260不能用8位表示,所以它的构造是65*4。 这会在整个32位范围内分散程序员可用的即时值,而不是将其限制为0到4095。 |
|
|
3
1
ARM反汇编器有时会以这种格式输出常量,因为8位常量+4位ROR编码允许以不同的方式对某些值进行编码。例如,1可以编码为1 ror 0、4 ror 2、16 ror 4等。 对这种格式的解码允许明确地指定指令编码,并允许重新汇编准确的指令。构建一个位相同的二进制文件可能很重要。 |
|
|
Daniel · 仅在-O3中进行未对齐的内存访问 2 年前 |
|
|
TRElec · STM32:代码的执行似乎取决于它在闪存中的位置 3 年前 |
|
|
Marietto · FATAL:ThreadManitizer:不支持的VMA范围FATAL:找到39-支持的48/go:添加了github.com/docker/docker v23.0.4+不兼容 3 年前 |
|
|
Ilya Loskutov · 无法将单词加载到寄存器中 4 年前 |