假设X6是数组“ A”的基地址
假设X7是数组“ B”的基地址
F,G,H,I分别为X0,X1,X2,X3,X4
此AArch64程序集到底在做什么?
使用上述变量的python代码表示会很棒:)
while (x){
app.page.descendents.label1 = google.script.run.getCount(runID);
Utilities.sleep(5000);
}
我在LDUR阶段迷路了,X5和X8到底是什么
答案 0 :(得分:0)
ADD X9,X6,#8
我知道这是X9 = A + 8,不确定数组的值在这里
正确。正如问题描述所述,X6
的值只是数组的基地址。
STUR X1,[X6,#0]
我相信这会将X1的值“存储”到A [0]吗?
正确。在问题描述中,X1
被定义为变量G
。这就是A[0] = G;
LDUR X8,[X10,#0]
这将值“存储”到X10 [0]?进入X8?
正确,但是将数据从内存移入寄存器称为负载。因此,指令名称(LD =负载)。还要记住,X10
已设置为X7+16
,其中X7
是数组B
。此外,LDUR
使用字节索引,因此16表示16个字节。假设B
是一个包含64位数字的数组,每项8个字节,那么16个字节就是2个项目。所有这些都归结为X8 = B[2];
。
LDUR X5,[X9,#0]
按照同样的逻辑,这是X5 = A[1];
,所以最终结果是F = B[2] + A[1];
。