annotate doc/disas_examples/arm.atpcs_arm.disas @ 457:90b1d927912a

- suite_aggrs: make sure random memory used doesn't ever result in NaN fp values (for every possible address), as this messes with result comparison
author Tassilo Philipp
date Fri, 28 Jan 2022 14:11:21 +0100
parents c0390dc85a07
children 0fc22b5feac7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
1 ; #include <stdlib.h>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
2 ;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
3 ; void leaf_call(int b, int c, int d, int e, int f, int g, int h)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
4 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
5 ; }
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
6 ;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
7 ; void nonleaf_call(int a, int b, int c, int d, int e, int f, int g, int h)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
8 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
9 ; /* use some local data */
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
10 ; *(char*)alloca(220) = 'L';
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
11 ; leaf_call(b, c, d, e, f, g, h);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
12 ; }
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
13 ;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
14 ; int main()
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
15 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
16 ; nonleaf_call(0, 1, 2, 3, 4, 5, 6, 7);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
17 ; return 0;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
18 ; }
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
19
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
20
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
21
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
22 ; output from netbsd-4.0.1-cats w/ gcc 4.1.2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
23
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
24 00000000 <leaf_call>:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
25 0: e1a0c00d mov ip, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
26 4: e92dd800 stmdb sp!, {fp, ip, lr, pc}
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
27 8: e24cb004 sub fp, ip, #4 ; 0x4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
28 c: e24dd010 sub sp, sp, #16 ; 0x10
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
29 10: e50b0010 str r0, [fp, #-16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
30 14: e50b1014 str r1, [fp, #-20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
31 18: e50b2018 str r2, [fp, #-24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
32 1c: e50b301c str r3, [fp, #-28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
33 20: e24bd00c sub sp, fp, #12 ; 0xc
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
34 24: e89da800 ldmia sp, {fp, sp, pc}
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
35
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
36 00000028 <nonleaf_call>:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
37 28: e1a0c00d mov ip, sp ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
38 ;spill here, if needed: stmdb sp!, {r0, r1, r2, r3} ; | just for ref, if present this would change below offsets
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
39 2c: e92dd800 stmdb sp!, {fp, ip, lr, pc} ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
40 30: e24cb004 sub fp, ip, #4 ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
41 34: e24dd020 sub sp, sp, #32 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
42 38: e50b0010 str r0, [fp, #-16] ; in arg 0 -> temp space in local area
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
43 3c: e50b1014 str r1, [fp, #-20] ; in arg 1 -> temp space in local area
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
44 40: e50b2018 str r2, [fp, #-24] ; in arg 2 -> temp space in local area
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
45 44: e50b301c str r3, [fp, #-28] ; in arg 3 -> temp space in local area
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
46 48: e24dd0e0 sub sp, sp, #224 ; alloca(220) - with padding to guarantee alignment
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
47 4c: e28d200c add r2, sp, #12 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
48 50: e50b2020 str r2, [fp, #-32] ; | @@@ pointless push of r2 to local area to put it back ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
49 54: e51b2020 ldr r2, [fp, #-32] ; | @@@ ... into r2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
50 58: e2823003 add r3, r2, #3 ; | start of (aligned) alloca()'d memory -> r3, leaving room at top of stack for param area
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
51 5c: e1a03123 mov r3, r3, lsr #2 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
52 60: e1a03103 mov r3, r3, lsl #2 ; /
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
53 64: e50b3020 str r3, [fp, #-32] ; \
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
54 68: e51b2020 ldr r2, [fp, #-32] ; | r2 -> r3, to free r2 (kinda pointless as followup code could use r2 and r3 the other way round)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
55 6c: e3a0304c mov r3, #76 ; 'L' -> r3, and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
56 70: e5c23000 strb r3, [r2] ; ... store in local area (of alloca()'d space)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
57 74: e59b3008 ldr r3, [fp, #8] ; arg 4 (fetched from prev frame's param area), and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
58 78: e58d3000 str r3, [sp] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
59 7c: e59b300c ldr r3, [fp, #12] ; arg 5 (fetched from prev frame's param area), and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
60 80: e58d3004 str r3, [sp, #4] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
61 84: e59b3010 ldr r3, [fp, #16] ; arg 6 (fetched from prev frame's param area), and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
62 88: e58d3008 str r3, [sp, #8] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
63 8c: e51b0014 ldr r0, [fp, #-20] ; arg 0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
64 90: e51b1018 ldr r1, [fp, #-24] ; arg 1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
65 94: e51b201c ldr r2, [fp, #-28] ; arg 2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
66 98: e59b3004 ldr r3, [fp, #4] ; arg 3 (fetched from prev frame's param area)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
67 9c: ebfffffe bl 9c <nonleaf_call+0x74> ; return address -> r14/lr, and call
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
68 a0: e24bd00c sub sp, fp, #12 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
69 a4: e89da800 ldmia sp, {fp, sp, pc} ; | epilog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
70
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
71 000000a8 <main>:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
72 a8: e1a0c00d mov ip, sp ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
73 ac: e92dd800 stmdb sp!, {fp, ip, lr, pc} ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
74 b0: e24cb004 sub fp, ip, #4 ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
75 b4: e24dd010 sub sp, sp, #16 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
76 b8: e3a03004 mov r3, #4 ; arg 4, and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
77 bc: e58d3000 str r3, [sp] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
78 c0: e3a03005 mov r3, #5 ; arg 5, and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
79 c4: e58d3004 str r3, [sp, #4] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
80 c8: e3a03006 mov r3, #6 ; arg 6, and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
81 cc: e58d3008 str r3, [sp, #8] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
82 d0: e3a03007 mov r3, #7 ; arg 7, and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
83 d4: e58d300c str r3, [sp, #12] ; ... "pushed" onto stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
84 d8: e3a00000 mov r0, #0 ; arg 0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
85 dc: e3a01001 mov r1, #1 ; arg 1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
86 e0: e3a02002 mov r2, #2 ; arg 2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
87 e4: e3a03003 mov r3, #3 ; arg 3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
88 e8: ebfffffe bl e8 <main+0x40> ; return address -> r14/lr, and call
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
89 ec: e3a03000 mov r3, #0 ; return value via r3, ... (a bit unoptimal)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
90 f0: e1a00003 mov r0, r3 ; ... to r0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
91 f4: e24bd00c sub sp, fp, #12 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
92 f8: e89da800 ldmia sp, {fp, sp, pc} ; | epilog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
93
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
94
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
95
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
96 ; output from freebsd-11.0_r260099-raspberrypi w/ clang 3.3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
97
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
98 00000000 <leaf_call>:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
99 0: e24dd030 sub sp, sp, #48 ; 0x30
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
100 4: e58d002c str r0, [sp, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
101 8: e58d1028 str r1, [sp, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
102 c: e58d2024 str r2, [sp, #36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
103 10: e58d3020 str r3, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
104 14: e59dc030 ldr ip, [sp, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
105 18: e58dc01c str ip, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
106 1c: e59dc034 ldr ip, [sp, #52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
107 20: e58dc018 str ip, [sp, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
108 24: e59dc038 ldr ip, [sp, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
109 28: e58dc014 str ip, [sp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
110 2c: e58d1010 str r1, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
111 30: e58d300c str r3, [sp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
112 34: e58d2008 str r2, [sp, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
113 38: e58d0004 str r0, [sp, #4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
114 3c: e28dd030 add sp, sp, #48 ; 0x30
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
115 40: e12fff1e bx lr
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
116
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
117 00000044 <nonleaf_call>:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
118 44: e92d4bf0 push {r4, r5, r6, r7, r8, r9, fp, lr}
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
119 48: e28db018 add fp, sp, #24 ; 0x18
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
120 4c: e24ddf4a sub sp, sp, #296 ; 0x128
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
121 50: e50b001c str r0, [fp, #-28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
122 54: e50b1020 str r1, [fp, #-32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
123 58: e50b2024 str r2, [fp, #-36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
124 5c: e50b3028 str r3, [fp, #-40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
125 60: e59bc008 ldr ip, [fp, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
126 64: e50bc02c str ip, [fp, #-44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
127 68: e59bc00c ldr ip, [fp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
128 6c: e50bc030 str ip, [fp, #-48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
129 70: e59bc010 ldr ip, [fp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
130 74: e50bc034 str ip, [fp, #-52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
131 78: e59bc014 ldr ip, [fp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
132 7c: e50bc038 str ip, [fp, #-56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
133 80: e3a0c04c mov ip, #76 ; 0x4c
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
134 84: e5cdc02c strb ip, [sp, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
135 88: e51bc020 ldr ip, [fp, #-32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
136 8c: e51be024 ldr lr, [fp, #-36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
137 90: e51b4028 ldr r4, [fp, #-40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
138 94: e51b502c ldr r5, [fp, #-44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
139 98: e51b6030 ldr r6, [fp, #-48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
140 9c: e51b7034 ldr r7, [fp, #-52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
141 a0: e51b8038 ldr r8, [fp, #-56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
142 a4: e1a0900d mov r9, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
143 a8: e5898008 str r8, [r9, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
144 ac: e5897004 str r7, [r9, #4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
145 b0: e5896000 str r6, [r9]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
146 b4: e58d0028 str r0, [sp, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
147 b8: e1a0000c mov r0, ip
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
148 bc: e58d1024 str r1, [sp, #36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
149 c0: e1a0100e mov r1, lr
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
150 c4: e58d2020 str r2, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
151 c8: e1a02004 mov r2, r4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
152 cc: e58d301c str r3, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
153 d0: e1a03005 mov r3, r5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
154 d4: ebfffffe bl 0 <leaf_call>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
155 d8: e59d001c ldr r0, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
156 dc: e59d1020 ldr r1, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
157 e0: e59d2024 ldr r2, [sp, #36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
158 e4: e59d3028 ldr r3, [sp, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
159 e8: e58d0018 str r0, [sp, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
160 ec: e58d1014 str r1, [sp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
161 f0: e58d2010 str r2, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
162 f4: e58d300c str r3, [sp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
163 f8: e24bd018 sub sp, fp, #24 ; 0x18
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
164 fc: e8bd8bf0 pop {r4, r5, r6, r7, r8, r9, fp, pc}
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
165
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
166 00000100 <main>:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
167 100: e92d4800 push {fp, lr}
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
168 104: e1a0b00d mov fp, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
169 108: e24dd018 sub sp, sp, #24 ; 0x18
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
170 10c: e3a00000 mov r0, #0 ; 0x0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
171 110: e50b0004 str r0, [fp, #-4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
172 114: e3a01007 mov r1, #7 ; 0x7
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
173 118: e1a0200d mov r2, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
174 11c: e582100c str r1, [r2, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
175 120: e3a01006 mov r1, #6 ; 0x6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
176 124: e5821008 str r1, [r2, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
177 128: e3a01005 mov r1, #5 ; 0x5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
178 12c: e5821004 str r1, [r2, #4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
179 130: e3a01004 mov r1, #4 ; 0x4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
180 134: e5821000 str r1, [r2]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
181 138: e3a01001 mov r1, #1 ; 0x1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
182 13c: e3a02002 mov r2, #2 ; 0x2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
183 140: e3a03003 mov r3, #3 ; 0x3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
184 144: e50b0008 str r0, [fp, #-8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
185 148: ebfffffe bl 44 <nonleaf_call>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
186 14c: e51b0008 ldr r0, [fp, #-8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
187 150: e1a0d00b mov sp, fp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
188 154: e8bd8800 pop {fp, pc}
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
189
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
190 ; vim: ft=asm68k
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
191