Files
linux-kernel-module-cheat/userland/arch/aarch64/ldrsw.S
Ciro Santilli 六四事件 法轮功 6dfc95d73a arm: signed LDR example with LDRSW
2019-08-25 00:00:00 +00:00

31 lines
576 B
ArmAsm

/* https://cirosantilli.com/linux-kernel-module-cheat#arm-ldrh-and-ldrb-instructions */
#include <lkmc.h>
LKMC_PROLOGUE
ldr x19, =zero_extend
mov x0, 0x0
ldr w0, [x19]
LKMC_ASSERT_EQ(x0, =0x0000000012345678)
mov x0, 0x0
ldrsw x0, [x19]
LKMC_ASSERT_EQ(x0, =0x0000000012345678)
ldr x19, =one_extend
mov x0, 0x0
ldr w0, [x19]
LKMC_ASSERT_EQ(x0, =0x0000000082345678)
mov x0, 0x0
ldrsw x0, [x19]
LKMC_ASSERT_EQ(x0, =0xFFFFFFFF82345678)
LKMC_EPILOGUE
zero_extend:
.word 0x12345678
one_extend:
.word 0x82345678