mirror of
https://github.com/arabine/open-story-teller.git
synced 2025-12-06 17:09:06 +01:00
29 lines
944 B
Text
29 lines
944 B
Text
define armex
|
|
printf "EXEC_RETURN (LR):\n",
|
|
info registers $lr
|
|
if (0x04 == (0x04 & (int)$lr))
|
|
printf "Uses MSP 0x%x return.\n", $msp
|
|
set $armex_base = (int)$msp
|
|
else
|
|
printf "Uses PSP 0x%x return.\n", $psp
|
|
set $armex_base = (int)$psp
|
|
end
|
|
|
|
printf "xPSR 0x%x\n", *($armex_base+28)
|
|
printf "ReturnAddress 0x%x\n", *($armex_base+24)
|
|
printf "LR (R14) 0x%x\n", *($armex_base+20)
|
|
printf "R12 0x%x\n", *($armex_base+16)
|
|
printf "R3 0x%x\n", *($armex_base+12)
|
|
printf "R2 0x%x\n", *($armex_base+8)
|
|
printf "R1 0x%x\n", *($armex_base+4)
|
|
printf "R0 0x%x\n", *($armex_base)
|
|
printf "Return instruction:\n"
|
|
x/i *($armex_base+24)
|
|
printf "LR instruction:\n"
|
|
x/i *($armex_base+20)
|
|
end
|
|
|
|
document armex
|
|
ARMv7 Exception entry behavior.
|
|
xPSR, ReturnAddress, LR (R14), R12, R3, R2, R1, and R0
|
|
end |