Last active
April 7, 2020 00:48
-
-
Save travitch/78c01ea0f7270a7114a708ec008de34d to your computer and use it in GitHub Desktop.
ARM call frame setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Machine code | |
0001010c <f1>: | |
1010c: e92d4800 push {fp, lr} | |
10110: e28db004 add fp, sp, #4 | |
10114: e24dd008 sub sp, sp, #8 | |
10118: e50b0008 str r0, [fp, #-8] | |
1011c: e51b3008 ldr r3, [fp, #-8] | |
10120: e2833001 add r3, r3, #1 | |
10124: e1a00003 mov r0, r3 | |
10128: ebffffea bl 100d8 <f2> | |
1012c: e1a00000 nop ; (mov r0, r0) | |
10130: e24bd004 sub sp, fp, #4 | |
10134: e8bd8800 pop {fp, pc} | |
Macaw output | |
function 0x1010c | |
0x1010c: | |
; _R13 = stack_frame + 0 | |
# 0x1010c 0x1010c: STMDB_A1(xxxxxxxx.xxxxxxxx.00x0xxxx.xxxx1001) Rn 13, W 1, cond 14, register_list 18432 | |
# 0x1010c: STMDB_A1(xxxxxxxx.xxxxxxxx.00x0xxxx.xxxx1001) Rn 13, W 1, cond 14, register_list 18432 | |
r775 := (bv_add _R13_0 (0xfffffff8 :: [32])) | |
r797 := (bv_add _R13_0 (0xfffffff8 :: [32])) | |
write_mem r797 0x10114 | |
r799 := (bv_add _R13_0 (0xfffffff4 :: [32])) | |
r800 := undef :: [(bv 32)] | |
write_mem r799 r800 | |
r802 := (bv_add _R13_0 (0xfffffff4 :: [32])) | |
write_mem r802 r800 | |
r804 := (bv_add _R13_0 (0xfffffff4 :: [32])) | |
write_mem r804 r800 | |
r805 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r805 r800 | |
r806 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r806 r800 | |
r807 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r807 r800 | |
r808 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r808 r800 | |
r809 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r809 r800 | |
r810 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r810 r800 | |
r811 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r811 r800 | |
r812 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r812 r800 | |
r813 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r813 r800 | |
r814 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r814 r800 | |
r815 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r815 r800 | |
r816 := (bv_add _R13_0 (0xfffffff0 :: [32])) | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r806 _R10_0 | |
write_mem r807 r800 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r805 _R11_0 | |
write_mem r806 r800 | |
write_mem r806 _R10_0 | |
write_mem r807 r800 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r804 _R12_0 | |
write_mem r805 r800 | |
write_mem r805 _R11_0 | |
write_mem r806 r800 | |
write_mem r806 _R10_0 | |
write_mem r807 r800 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r802 r775 | |
write_mem r804 r800 | |
write_mem r804 _R12_0 | |
write_mem r805 r800 | |
write_mem r805 _R11_0 | |
write_mem r806 r800 | |
write_mem r806 _R10_0 | |
write_mem r807 r800 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r799 _R14_0 | |
write_mem r802 r800 | |
write_mem r802 r775 | |
write_mem r804 r800 | |
write_mem r804 _R12_0 | |
write_mem r805 r800 | |
write_mem r805 _R11_0 | |
write_mem r806 r800 | |
write_mem r806 _R10_0 | |
write_mem r807 r800 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
write_mem r799 r800 | |
write_mem r799 _R14_0 | |
write_mem r802 r800 | |
write_mem r802 r775 | |
write_mem r804 r800 | |
write_mem r804 _R12_0 | |
write_mem r805 r800 | |
write_mem r805 _R11_0 | |
write_mem r806 r800 | |
write_mem r806 _R10_0 | |
write_mem r807 r800 | |
write_mem r807 _R9_0 | |
write_mem r808 r800 | |
write_mem r808 _R8_0 | |
write_mem r809 r800 | |
write_mem r809 _R7_0 | |
write_mem r810 r800 | |
write_mem r810 _R6_0 | |
write_mem r811 r800 | |
write_mem r811 _R5_0 | |
write_mem r812 r800 | |
write_mem r812 _R4_0 | |
write_mem r813 r800 | |
write_mem r813 _R3_0 | |
write_mem r814 r800 | |
write_mem r814 _R2_0 | |
write_mem r815 r800 | |
write_mem r815 _R1_0 | |
write_mem r816 r800 | |
write_mem r816 _R0_0 | |
# | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment