gpt4 book ai didi

assembly - ARM assembly 中的 movw 和 movt

转载 作者:行者123 更新时间:2023-12-02 17:09:58 26 4
gpt4 key购买 nike

我无法破译这段汇编代码。到最后 r1 的值是多少以及我如何到达那里?

3242ba66    f6454118    movw    r1, 0x5c18
3242ba6a 466f mov r7, sp
3242ba6c f6c0415a movt r1, 0xc5a
3242ba70 f2460002 movw r0, 0x6002
3242ba74 f6c0405a movt r0, 0xc5a
3242ba78 4479 add r1, pc
3242ba7a 4478 add r0, pc
3242ba7c 6809 ldr r1, [r1, #0]

最佳答案

movw随后是 movt是将 32 位值加载到寄存器中的常见方法。这相当于将这两个立即值与movt进行或运算。是高 16 位。在这种情况下,r1 = (movt immediate value << 16) | (movw immediate value)) .

3242ba66    f6454118    movw    r1, 0x5c18   // r1 = 0x5c18
3242ba6a 466f mov r7, sp
3242ba6c f6c0415a movt r1, 0xc5a // r1 = (r1 & 0xffff) | (0xc5a << 16)
3242ba70 f2460002 movw r0, 0x6002
3242ba74 f6c0405a movt r0, 0xc5a
3242ba78 4479 add r1, pc // r1 = r1 + pc
3242ba7a 4478 add r0, pc
3242ba7c 6809 ldr r1, [r1, #0] // r1 = *(r1 + 0)

关于assembly - ARM assembly 中的 movw 和 movt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7800055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com