annotate doc/disas_examples/arm64.aapcs.disas @ 497:cb19b2fe2422

- more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
author Tassilo Philipp
date Wed, 23 Mar 2022 15:24:31 +0100
parents 0fc22b5feac7
children fc614cb865c6
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>
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2 ;
327
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 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
6 ;
327
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 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
13 ;
327
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 freebsd-13.0_r348764-arm64 w/ clang 8.0.0
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 leaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
25 0: ff 83 00 d1 sub sp, sp, #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
26 4: e0 1f 00 b9 str w0, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
27 8: e1 1b 00 b9 str w1, [sp, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
28 c: e2 17 00 b9 str w2, [sp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
29 10: e3 13 00 b9 str w3, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
30 14: e4 0f 00 b9 str w4, [sp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
31 18: e5 0b 00 b9 str w5, [sp, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
32 1c: e6 07 00 b9 str w6, [sp, #4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
33 20: ff 83 00 91 add sp, sp, #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
34 24: c0 03 5f d6 ret
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 nonleaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
37 28: ff 83 04 d1 sub sp, sp, #288 ; | includes alloca()'d static space, already
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
38 2c: fc 83 00 f9 str x28, [sp, #256] ; | (unsure why r28 is preserved @@@)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
39 30: fd 7b 11 a9 stp x29, x30, [sp, #272] ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
40 34: fd 43 04 91 add x29, sp, #272 ; | adjust/set frame pointer (since sp was modified first)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
41 38: 88 09 80 52 mov w8, #76 ; 'L' -> w8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
42 3c: a0 c3 1e b8 stur w0, [x29, #-20] ; in arg 0 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
43 40: a1 83 1e b8 stur w1, [x29, #-24] ; in arg 1 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
44 44: a2 43 1e b8 stur w2, [x29, #-28] ; in arg 2 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
45 48: a3 03 1e b8 stur w3, [x29, #-32] ; in arg 3 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
46 4c: a4 c3 1d b8 stur w4, [x29, #-36] ; in arg 4 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
47 50: a5 83 1d b8 stur w5, [x29, #-40] ; in arg 5 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
48 54: a6 43 1d b8 stur w6, [x29, #-44] ; in arg 6 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
49 58: a7 03 1d b8 stur w7, [x29, #-48] ; in arg 7 -> local area (as temp store)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
50 5c: e8 03 00 39 strb w8, [sp] ; place 'L' on top of stack (at alloca()'d addr)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
51 60: a0 83 5e b8 ldur w0, [x29, #-24] ; arg 0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
52 64: a1 43 5e b8 ldur w1, [x29, #-28] ; arg 1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
53 68: a2 03 5e b8 ldur w2, [x29, #-32] ; arg 2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
54 6c: a3 c3 5d b8 ldur w3, [x29, #-36] ; arg 3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
55 70: a4 83 5d b8 ldur w4, [x29, #-40] ; arg 4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
56 74: a5 43 5d b8 ldur w5, [x29, #-44] ; arg 5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
57 78: a6 03 5d b8 ldur w6, [x29, #-48] ; arg 6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
58 7c: e1 ff ff 97 bl #-124 ; return address -> r30/lr, and call
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
59 80: fd 7b 51 a9 ldp x29, x30, [sp, #272] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
60 84: fc 83 40 f9 ldr x28, [sp, #256] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
61 88: ff 83 04 91 add sp, sp, #288 ; | epilog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
62 8c: c0 03 5f d6 ret ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
63
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
64 main:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
65 90: ff 83 00 d1 sub sp, sp, #32 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
66 94: fd 7b 01 a9 stp x29, x30, [sp, #16] ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
67 98: fd 43 00 91 add x29, sp, #16 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
68 9c: 08 00 80 52 mov w8, #0 ; clearing r8 (indirect result location pointer)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
69 a0: e1 03 00 32 orr w1, wzr, #0x1 ; arg 1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
70 a4: e2 03 1f 32 orr w2, wzr, #0x2 ; arg 2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
71 a8: e3 07 00 32 orr w3, wzr, #0x3 ; arg 3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
72 ac: e4 03 1e 32 orr w4, wzr, #0x4 ; arg 4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
73 b0: a5 00 80 52 mov w5, #5 ; arg 5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
74 b4: e6 07 1f 32 orr w6, wzr, #0x6 ; arg 6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
75 b8: e7 0b 00 32 orr w7, wzr, #0x7 ; arg 7
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
76 bc: bf c3 1f b8 stur wzr, [x29, #-4] ; unsure... store a zero in local area@@@
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
77 c0: e0 03 08 2a mov w0, w8 ; arg 0 (= 0 set in w8, above)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
78 c4: e8 0b 00 b9 str w8, [sp, #8] ; temp storing 0 in local area
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
79 c8: d8 ff ff 97 bl #-160 ; return address -> r30/lr, and call
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
80 cc: e0 0b 40 b9 ldr w0, [sp, #8] ; return value (unsure why not just using immediate @@@)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
81 d0: fd 7b 41 a9 ldp x29, x30, [sp, #16] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
82 d4: ff 83 00 91 add sp, sp, #32 ; | epilog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
83 d8: c0 03 5f d6 ret ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
84
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
85
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
86
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
87 ; ---------- same with more args so stack is also used ---------->
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
89 ; #include <stdlib.h>
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
90 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
91 ; void leaf_call(int b, int c, int d, int e, int f, int g, int h, int i, int j)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
92 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
93 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
94 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
95 ; void nonleaf_call(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
96 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
97 ; /* use some local data */
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
98 ; *(char*)alloca(220) = 'L';
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
99 ; leaf_call(b, c, d, e, f, g, h, i, j);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
100 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
101 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
102 ; int main()
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
103 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
104 ; nonleaf_call(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
105 ; return 0;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
106 ; }
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
107
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
108
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
109
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
110 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
111
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
112 0000000000000000 leaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
113 0: ff c3 00 d1 sub sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
114 4: e8 33 40 b9 ldr w8, [sp, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
115 8: e0 2f 00 b9 str w0, [sp, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
116 c: e1 2b 00 b9 str w1, [sp, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
117 10: e2 27 00 b9 str w2, [sp, #36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
118 14: e3 23 00 b9 str w3, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
119 18: e4 1f 00 b9 str w4, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
120 1c: e5 1b 00 b9 str w5, [sp, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
121 20: e6 17 00 b9 str w6, [sp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
122 24: e7 13 00 b9 str w7, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
123 28: e8 0f 00 b9 str w8, [sp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
124 2c: ff c3 00 91 add sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
125 30: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
126
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
127 0000000000000034 nonleaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
128 34: ff 03 05 d1 sub sp, sp, #320 ; | includes alloca()'d static space, already
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
129 38: fc 93 00 f9 str x28, [sp, #288] ; | (unsure why r28 is preserved @@@)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
130 3c: fd 7b 13 a9 stp x29, x30, [sp, #304] ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
131 40: fd c3 04 91 add x29, sp, #304 ; / adjust/set frame pointer (since sp was modified first)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
132 44: a8 13 40 b9 ldr w8, [x29, #16] ; \
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
133 48: a9 1b 40 b9 ldr w9, [x29, #24] ; | in args 8,9 from prev frame's param area -> regs, no we have args 0-9 all in r0-r9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
134 4c: 8a 09 80 52 mov w10, #76 ; 'L' -> w10
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
135 50: a0 c3 1e b8 stur w0, [x29, #-20] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
136 54: a1 83 1e b8 stur w1, [x29, #-24] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
137 58: a2 43 1e b8 stur w2, [x29, #-28] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
138 5c: a3 03 1e b8 stur w3, [x29, #-32] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
139 60: a4 c3 1d b8 stur w4, [x29, #-36] ; | ... in args 0,1,2,3,4,5,6,7,8,9 -> temp space in local area ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
140 64: a5 83 1d b8 stur w5, [x29, #-40] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
141 68: a6 43 1d b8 stur w6, [x29, #-44] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
142 6c: a7 03 1d b8 stur w7, [x29, #-48] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
143 70: a8 c3 1c b8 stur w8, [x29, #-52] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
144 74: a9 83 1c b8 stur w9, [x29, #-56] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
145 78: ea 43 00 39 strb w10, [sp, #16] ; 'L' -> local area (alloca()'d memory)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
146 7c: a0 83 5e b8 ldur w0, [x29, #-24] ; arg 0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
147 80: a1 43 5e b8 ldur w1, [x29, #-28] ; arg 1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
148 84: a2 03 5e b8 ldur w2, [x29, #-32] ; arg 2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
149 88: a3 c3 5d b8 ldur w3, [x29, #-36] ; arg 3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
150 8c: a4 83 5d b8 ldur w4, [x29, #-40] ; arg 4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
151 90: a5 43 5d b8 ldur w5, [x29, #-44] ; arg 5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
152 94: a6 03 5d b8 ldur w6, [x29, #-48] ; arg 6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
153 98: a7 c3 5c b8 ldur w7, [x29, #-52] ; arg 7
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
154 9c: a8 83 5c b8 ldur w8, [x29, #-56] ; arg 8 -> w8, and ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
155 a0: eb 03 00 91 mov x11, sp ; ... with help of x11 (why?) ...
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
156 a4: 68 01 00 b9 str w8, [x11] ; ... "pushed" onto to of stack
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
157 a8: d6 ff ff 97 bl #-168 <leaf_call> ; return address -> r30/lr, and call
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
158 ac: fd 7b 53 a9 ldp x29, x30, [sp, #304] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
159 b0: fc 93 40 f9 ldr x28, [sp, #288] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
160 b4: ff 03 05 91 add sp, sp, #320 ; | epilog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
161 b8: c0 03 5f d6 ret ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
162
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
163 00000000000000bc main:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
164 bc: ff c3 00 d1 sub sp, sp, #48 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
165 c0: fd 7b 02 a9 stp x29, x30, [sp, #32] ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
166 c4: fd 83 00 91 add x29, sp, #32 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
167 c8: 08 00 80 52 mov w8, #0 ; clearing r8 (indirect result location pointer)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
168 cc: e1 03 00 32 orr w1, wzr, #0x1 ; arg 1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
169 d0: e2 03 1f 32 orr w2, wzr, #0x2 ; arg 2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
170 d4: e3 07 00 32 orr w3, wzr, #0x3 ; arg 3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
171 d8: e4 03 1e 32 orr w4, wzr, #0x4 ; arg 4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
172 dc: a5 00 80 52 mov w5, #5 ; arg 5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
173 e0: e6 07 1f 32 orr w6, wzr, #0x6 ; arg 6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
174 e4: e7 0b 00 32 orr w7, wzr, #0x7 ; arg 7
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
175 e8: e9 03 1d 32 orr w9, wzr, #0x8 ; arg 8 -> r9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
176 ec: 2a 01 80 52 mov w10, #9 ; arg 9 -> r10
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
177 f0: bf c3 1f b8 stur wzr, [x29, #-4] ; unsure... store a zero in local area@@@
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
178 f4: e0 03 08 2a mov w0, w8 ; arg 0 (= 0 set in w8, above)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
179 f8: eb 03 00 91 mov x11, sp ; use sp in x11 (why?), to ...
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
180 fc: 69 01 00 b9 str w9, [x11] ; ... place arg 8 on top of stack
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
181 100: eb 03 00 91 mov x11, sp ; use sp in x11 (why?), to ... (set again, pointlessly)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
182 104: 6a 09 00 b9 str w10, [x11, #8] ; ... place arg 9 on stack (next to arg 8)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
183 108: a8 83 1f b8 stur w8, [x29, #-8] ; temp storing 0 in local area @@@ why?
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
184 10c: ca ff ff 97 bl #-216 <nonleaf_call> ; return address -> r30/lr, and call
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
185 110: a0 83 5f b8 ldur w0, [x29, #-8] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
186 114: fd 7b 42 a9 ldp x29, x30, [sp, #32] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
187 118: ff c3 00 91 add sp, sp, #48 ; | epilog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
188 11c: c0 03 5f d6 ret ; |
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
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
191
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
192 ; ---------- for spilling ---------->
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
193
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
194 ; #include <stdlib.h>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
195 ; #include <stdarg.h>
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
196 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
197 ; void leaf_call(int b, int c, int d, int e, int f, int g, int h, int i, int j)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
198 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
199 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
200 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
201 ; void nonleaf_call(int a, ...)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
202 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
203 ; int b,c,d,e,f,g,h,i,j;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
204 ; va_list ap;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
205 ; va_start(ap, a);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
206 ; b = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
207 ; c = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
208 ; d = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
209 ; e = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
210 ; f = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
211 ; g = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
212 ; h = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
213 ; i = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
214 ; j = va_arg(ap, int);
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
215 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
216 ; /* use some local data */
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
217 ; *(char*)alloca(220) = 'L';
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
218 ; leaf_call(b, c, d, e, f, g, h, i, j);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
219 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
220 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
221 ; int main()
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
222 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
223 ; nonleaf_call(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
224 ; return 0;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
225 ; }
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
226
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
227
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
228
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
229 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
230
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
231 0000000000000000 leaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
232 0: ff c3 00 d1 sub sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
233 4: e8 33 40 b9 ldr w8, [sp, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
234 8: e0 2f 00 b9 str w0, [sp, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
235 c: e1 2b 00 b9 str w1, [sp, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
236 10: e2 27 00 b9 str w2, [sp, #36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
237 14: e3 23 00 b9 str w3, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
238 18: e4 1f 00 b9 str w4, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
239 1c: e5 1b 00 b9 str w5, [sp, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
240 20: e6 17 00 b9 str w6, [sp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
241 24: e7 13 00 b9 str w7, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
242 28: e8 0f 00 b9 str w8, [sp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
243 2c: ff c3 00 91 add sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
244 30: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
245
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
246 0000000000000034 nonleaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
247 34: fc 4f be a9 stp x28, x19, [sp, #-32]! ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
248 38: fd 7b 01 a9 stp x29, x30, [sp, #16] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
249 3c: fd 43 00 91 add x29, sp, #16 ; | prolog
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
250 40: ff 83 07 d1 sub sp, sp, #480 ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
251 44: f3 03 00 91 mov x19, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
252 48: 67 56 80 3d str q7, [x19, #336] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
253 4c: 66 52 80 3d str q6, [x19, #320] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
254 50: 65 4e 80 3d str q5, [x19, #304] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
255 54: 64 4a 80 3d str q4, [x19, #288] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
256 58: 63 46 80 3d str q3, [x19, #272] ; | spill all flot regs (on top of spilled integers, below
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
257 5c: 62 42 80 3d str q2, [x19, #256] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
258 60: 61 3e 80 3d str q1, [x19, #240] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
259 64: 60 3a 80 3d str q0, [x19, #224] ; /
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
260 68: a7 03 1a f8 stur x7, [x29, #-96] ; \
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
261 6c: a6 83 19 f8 stur x6, [x29, #-104] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
262 70: a5 03 19 f8 stur x5, [x29, #-112] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
263 74: a4 83 18 f8 stur x4, [x29, #-120] ; | spill integer args (adjacent to prev frame's param area)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
264 78: a3 03 18 f8 stur x3, [x29, #-128] ; | note: only needed ones are spilled
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
265 7c: a2 83 17 f8 stur x2, [x29, #-136] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
266 80: a1 03 17 f8 stur x1, [x29, #-144] ; |
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
267 84: a0 c3 1e b8 stur w0, [x29, #-20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
268 88: e0 63 19 32 orr w0, wzr, #0xffffff80
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
269 8c: a0 43 1c b8 stur w0, [x29, #-60]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
270 90: e0 06 80 12 mov w0, #-56
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
271 94: a0 03 1c b8 stur w0, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
272 98: 61 82 03 91 add x1, x19, #224
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
273 9c: 21 00 02 91 add x1, x1, #128
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
274 a0: a1 83 1b f8 stur x1, [x29, #-72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
275 a4: a1 43 02 d1 sub x1, x29, #144
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
276 a8: 21 e0 00 91 add x1, x1, #56
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
277 ac: a1 03 1b f8 stur x1, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
278 b0: a1 43 00 91 add x1, x29, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
279 b4: a1 83 1a f8 stur x1, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
280 b8: a1 63 01 d1 sub x1, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
281 bc: 21 60 00 91 add x1, x1, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
282 c0: a0 03 5c b8 ldur w0, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
283 c4: e8 03 00 2a mov w8, w0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
284 c8: 61 6e 00 f9 str x1, [x19, #216]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
285 cc: 68 d6 00 b9 str w8, [x19, #212]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
286 d0: e0 01 f8 36 tbz w0, #31, #60 <nonleaf_call+0xd8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
287 d4: 01 00 00 14 b #4 <nonleaf_call+0xa4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
288 d8: 68 d6 40 b9 ldr w8, [x19, #212]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
289 dc: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
290 e0: 6a 6e 40 f9 ldr x10, [x19, #216]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
291 e4: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
292 e8: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
293 ec: 69 d2 00 b9 str w9, [x19, #208]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
294 f0: ec 00 00 54 b.gt #28 <nonleaf_call+0xd8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
295 f4: 01 00 00 14 b #4 <nonleaf_call+0xc4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
296 f8: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
297 fc: 69 d6 40 b9 ldr w9, [x19, #212]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
298 100: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
299 104: 68 66 00 f9 str x8, [x19, #200]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
300 108: 06 00 00 14 b #24 <nonleaf_call+0xec>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
301 10c: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
302 110: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
303 114: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
304 118: 68 66 00 f9 str x8, [x19, #200]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
305 11c: 01 00 00 14 b #4 <nonleaf_call+0xec>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
306 120: 68 66 40 f9 ldr x8, [x19, #200]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
307 124: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
308 128: a9 83 1e b8 stur w9, [x29, #-24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
309 12c: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
310 130: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
311 134: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
312 138: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
313 13c: 68 62 00 f9 str x8, [x19, #192]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
314 140: 6a be 00 b9 str w10, [x19, #188]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
315 144: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x14c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
316 148: 01 00 00 14 b #4 <nonleaf_call+0x118>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
317 14c: 68 be 40 b9 ldr w8, [x19, #188]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
318 150: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
319 154: 6a 62 40 f9 ldr x10, [x19, #192]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
320 158: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
321 15c: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
322 160: 69 ba 00 b9 str w9, [x19, #184]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
323 164: ec 00 00 54 b.gt #28 <nonleaf_call+0x14c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
324 168: 01 00 00 14 b #4 <nonleaf_call+0x138>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
325 16c: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
326 170: 69 be 40 b9 ldr w9, [x19, #188]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
327 174: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
328 178: 68 5a 00 f9 str x8, [x19, #176]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
329 17c: 06 00 00 14 b #24 <nonleaf_call+0x160>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
330 180: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
331 184: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
332 188: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
333 18c: 68 5a 00 f9 str x8, [x19, #176]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
334 190: 01 00 00 14 b #4 <nonleaf_call+0x160>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
335 194: 68 5a 40 f9 ldr x8, [x19, #176]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
336 198: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
337 19c: a9 43 1e b8 stur w9, [x29, #-28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
338 1a0: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
339 1a4: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
340 1a8: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
341 1ac: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
342 1b0: 68 56 00 f9 str x8, [x19, #168]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
343 1b4: 6a a6 00 b9 str w10, [x19, #164]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
344 1b8: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x1c0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
345 1bc: 01 00 00 14 b #4 <nonleaf_call+0x18c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
346 1c0: 68 a6 40 b9 ldr w8, [x19, #164]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
347 1c4: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
348 1c8: 6a 56 40 f9 ldr x10, [x19, #168]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
349 1cc: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
350 1d0: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
351 1d4: 69 a2 00 b9 str w9, [x19, #160]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
352 1d8: ec 00 00 54 b.gt #28 <nonleaf_call+0x1c0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
353 1dc: 01 00 00 14 b #4 <nonleaf_call+0x1ac>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
354 1e0: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
355 1e4: 69 a6 40 b9 ldr w9, [x19, #164]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
356 1e8: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
357 1ec: 68 4e 00 f9 str x8, [x19, #152]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
358 1f0: 06 00 00 14 b #24 <nonleaf_call+0x1d4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
359 1f4: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
360 1f8: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
361 1fc: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
362 200: 68 4e 00 f9 str x8, [x19, #152]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
363 204: 01 00 00 14 b #4 <nonleaf_call+0x1d4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
364 208: 68 4e 40 f9 ldr x8, [x19, #152]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
365 20c: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
366 210: a9 03 1e b8 stur w9, [x29, #-32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
367 214: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
368 218: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
369 21c: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
370 220: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
371 224: 68 4a 00 f9 str x8, [x19, #144]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
372 228: 6a 8e 00 b9 str w10, [x19, #140]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
373 22c: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x234>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
374 230: 01 00 00 14 b #4 <nonleaf_call+0x200>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
375 234: 68 8e 40 b9 ldr w8, [x19, #140]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
376 238: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
377 23c: 6a 4a 40 f9 ldr x10, [x19, #144]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
378 240: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
379 244: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
380 248: 69 8a 00 b9 str w9, [x19, #136]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
381 24c: ec 00 00 54 b.gt #28 <nonleaf_call+0x234>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
382 250: 01 00 00 14 b #4 <nonleaf_call+0x220>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
383 254: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
384 258: 69 8e 40 b9 ldr w9, [x19, #140]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
385 25c: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
386 260: 68 42 00 f9 str x8, [x19, #128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
387 264: 06 00 00 14 b #24 <nonleaf_call+0x248>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
388 268: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
389 26c: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
390 270: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
391 274: 68 42 00 f9 str x8, [x19, #128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
392 278: 01 00 00 14 b #4 <nonleaf_call+0x248>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
393 27c: 68 42 40 f9 ldr x8, [x19, #128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
394 280: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
395 284: a9 c3 1d b8 stur w9, [x29, #-36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
396 288: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
397 28c: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
398 290: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
399 294: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
400 298: 68 3e 00 f9 str x8, [x19, #120]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
401 29c: 6a 76 00 b9 str w10, [x19, #116]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
402 2a0: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x2a8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
403 2a4: 01 00 00 14 b #4 <nonleaf_call+0x274>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
404 2a8: 68 76 40 b9 ldr w8, [x19, #116]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
405 2ac: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
406 2b0: 6a 3e 40 f9 ldr x10, [x19, #120]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
407 2b4: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
408 2b8: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
409 2bc: 69 72 00 b9 str w9, [x19, #112]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
410 2c0: ec 00 00 54 b.gt #28 <nonleaf_call+0x2a8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
411 2c4: 01 00 00 14 b #4 <nonleaf_call+0x294>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
412 2c8: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
413 2cc: 69 76 40 b9 ldr w9, [x19, #116]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
414 2d0: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
415 2d4: 68 36 00 f9 str x8, [x19, #104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
416 2d8: 06 00 00 14 b #24 <nonleaf_call+0x2bc>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
417 2dc: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
418 2e0: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
419 2e4: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
420 2e8: 68 36 00 f9 str x8, [x19, #104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
421 2ec: 01 00 00 14 b #4 <nonleaf_call+0x2bc>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
422 2f0: 68 36 40 f9 ldr x8, [x19, #104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
423 2f4: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
424 2f8: a9 83 1d b8 stur w9, [x29, #-40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
425 2fc: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
426 300: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
427 304: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
428 308: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
429 30c: 68 32 00 f9 str x8, [x19, #96]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
430 310: 6a 5e 00 b9 str w10, [x19, #92]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
431 314: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x31c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
432 318: 01 00 00 14 b #4 <nonleaf_call+0x2e8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
433 31c: 68 5e 40 b9 ldr w8, [x19, #92]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
434 320: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
435 324: 6a 32 40 f9 ldr x10, [x19, #96]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
436 328: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
437 32c: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
438 330: 69 5a 00 b9 str w9, [x19, #88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
439 334: ec 00 00 54 b.gt #28 <nonleaf_call+0x31c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
440 338: 01 00 00 14 b #4 <nonleaf_call+0x308>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
441 33c: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
442 340: 69 5e 40 b9 ldr w9, [x19, #92]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
443 344: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
444 348: 68 2a 00 f9 str x8, [x19, #80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
445 34c: 06 00 00 14 b #24 <nonleaf_call+0x330>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
446 350: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
447 354: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
448 358: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
449 35c: 68 2a 00 f9 str x8, [x19, #80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
450 360: 01 00 00 14 b #4 <nonleaf_call+0x330>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
451 364: 68 2a 40 f9 ldr x8, [x19, #80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
452 368: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
453 36c: a9 43 1d b8 stur w9, [x29, #-44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
454 370: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
455 374: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
456 378: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
457 37c: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
458 380: 68 26 00 f9 str x8, [x19, #72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
459 384: 6a 46 00 b9 str w10, [x19, #68]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
460 388: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x390>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
461 38c: 01 00 00 14 b #4 <nonleaf_call+0x35c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
462 390: 68 46 40 b9 ldr w8, [x19, #68]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
463 394: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
464 398: 6a 26 40 f9 ldr x10, [x19, #72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
465 39c: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
466 3a0: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
467 3a4: 69 42 00 b9 str w9, [x19, #64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
468 3a8: ec 00 00 54 b.gt #28 <nonleaf_call+0x390>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
469 3ac: 01 00 00 14 b #4 <nonleaf_call+0x37c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
470 3b0: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
471 3b4: 69 46 40 b9 ldr w9, [x19, #68]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
472 3b8: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
473 3bc: 68 1e 00 f9 str x8, [x19, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
474 3c0: 06 00 00 14 b #24 <nonleaf_call+0x3a4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
475 3c4: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
476 3c8: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
477 3cc: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
478 3d0: 68 1e 00 f9 str x8, [x19, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
479 3d4: 01 00 00 14 b #4 <nonleaf_call+0x3a4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
480 3d8: 68 1e 40 f9 ldr x8, [x19, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
481 3dc: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
482 3e0: a9 03 1d b8 stur w9, [x29, #-48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
483 3e4: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
484 3e8: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
485 3ec: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
486 3f0: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
487 3f4: 68 1a 00 f9 str x8, [x19, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
488 3f8: 6a 2e 00 b9 str w10, [x19, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
489 3fc: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x404>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
490 400: 01 00 00 14 b #4 <nonleaf_call+0x3d0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
491 404: 68 2e 40 b9 ldr w8, [x19, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
492 408: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
493 40c: 6a 1a 40 f9 ldr x10, [x19, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
494 410: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
495 414: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
496 418: 69 2a 00 b9 str w9, [x19, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
497 41c: ec 00 00 54 b.gt #28 <nonleaf_call+0x404>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
498 420: 01 00 00 14 b #4 <nonleaf_call+0x3f0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
499 424: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
500 428: 69 2e 40 b9 ldr w9, [x19, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
501 42c: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
502 430: 68 12 00 f9 str x8, [x19, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
503 434: 06 00 00 14 b #24 <nonleaf_call+0x418>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
504 438: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
505 43c: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
506 440: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
507 444: 68 12 00 f9 str x8, [x19, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
508 448: 01 00 00 14 b #4 <nonleaf_call+0x418>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
509 44c: 68 12 40 f9 ldr x8, [x19, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
510 450: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
511 454: a9 c3 1c b8 stur w9, [x29, #-52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
512 458: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
513 45c: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
514 460: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
515 464: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
516 468: 68 0e 00 f9 str x8, [x19, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
517 46c: 6a 16 00 b9 str w10, [x19, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
518 470: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x478>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
519 474: 01 00 00 14 b #4 <nonleaf_call+0x444>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
520 478: 68 16 40 b9 ldr w8, [x19, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
521 47c: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
522 480: 6a 0e 40 f9 ldr x10, [x19, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
523 484: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
524 488: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
525 48c: 69 12 00 b9 str w9, [x19, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
526 490: ec 00 00 54 b.gt #28 <nonleaf_call+0x478>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
527 494: 01 00 00 14 b #4 <nonleaf_call+0x464>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
528 498: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
529 49c: 69 16 40 b9 ldr w9, [x19, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
530 4a0: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
531 4a4: 68 06 00 f9 str x8, [x19, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
532 4a8: 06 00 00 14 b #24 <nonleaf_call+0x48c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
533 4ac: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
534 4b0: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
535 4b4: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
536 4b8: 68 06 00 f9 str x8, [x19, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
537 4bc: 01 00 00 14 b #4 <nonleaf_call+0x48c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
538 4c0: 68 06 40 f9 ldr x8, [x19, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
539 4c4: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
540 4c8: a9 83 1c b8 stur w9, [x29, #-56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
541 4cc: e8 03 00 91 mov x8, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
542 4d0: 0a 81 03 f1 subs x10, x8, #224
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
543 4d4: 5f 01 00 91 mov sp, x10
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
544 4d8: 89 09 80 52 mov w9, #76
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
545 4dc: 09 01 12 38 sturb w9, [x8, #-224]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
546 4e0: a0 83 5e b8 ldur w0, [x29, #-24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
547 4e4: a1 43 5e b8 ldur w1, [x29, #-28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
548 4e8: a2 03 5e b8 ldur w2, [x29, #-32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
549 4ec: a3 c3 5d b8 ldur w3, [x29, #-36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
550 4f0: a4 83 5d b8 ldur w4, [x29, #-40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
551 4f4: a5 43 5d b8 ldur w5, [x29, #-44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
552 4f8: a6 03 5d b8 ldur w6, [x29, #-48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
553 4fc: a7 c3 5c b8 ldur w7, [x29, #-52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
554 500: a9 83 5c b8 ldur w9, [x29, #-56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
555 504: ff 43 00 d1 sub sp, sp, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
556 508: e8 03 00 91 mov x8, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
557 50c: 09 01 00 b9 str w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
558 510: bc fe ff 97 bl #-1296 <leaf_call>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
559 514: ff 43 00 91 add sp, sp, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
560 518: bf 43 00 d1 sub sp, x29, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
561 51c: fd 7b 41 a9 ldp x29, x30, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
562 520: fc 4f c2 a8 ldp x28, x19, [sp], #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
563 524: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
564
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
565 0000000000000528 main:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
566 528: ff c3 00 d1 sub sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
567 52c: fd 7b 02 a9 stp x29, x30, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
568 530: fd 83 00 91 add x29, sp, #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
569 534: 08 00 80 52 mov w8, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
570 538: e1 03 00 32 orr w1, wzr, #0x1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
571 53c: e2 03 1f 32 orr w2, wzr, #0x2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
572 540: e3 07 00 32 orr w3, wzr, #0x3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
573 544: e4 03 1e 32 orr w4, wzr, #0x4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
574 548: a5 00 80 52 mov w5, #5
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
575 54c: e6 07 1f 32 orr w6, wzr, #0x6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
576 550: e7 0b 00 32 orr w7, wzr, #0x7
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
577 554: e9 03 1d 32 orr w9, wzr, #0x8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
578 558: 2a 01 80 52 mov w10, #9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
579 55c: bf c3 1f b8 stur wzr, [x29, #-4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
580 560: e0 03 08 2a mov w0, w8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
581 564: eb 03 00 91 mov x11, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
582 568: 69 01 00 b9 str w9, [x11]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
583 56c: eb 03 00 91 mov x11, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
584 570: 6a 09 00 b9 str w10, [x11, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
585 574: a8 83 1f b8 stur w8, [x29, #-8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
586 578: af fe ff 97 bl #-1348 <nonleaf_call>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
587 57c: a0 83 5f b8 ldur w0, [x29, #-8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
588 580: fd 7b 42 a9 ldp x29, x30, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
589 584: ff c3 00 91 add sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
590 588: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
591
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
592
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
593
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
594 ; ---------- for spilling with a float ---------->
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
595
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
596 ; #include <stdlib.h>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
597 ; #include <stdarg.h>
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
598 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
599 ; void leaf_call(int b, int c, int d, int e, float f, int g, int h, int i, int j)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
600 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
601 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
602 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
603 ; void nonleaf_call(int a, ...)
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
604 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
605 ; int b,c,d,e,g,h,i,j;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
606 ; float f;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
607 ; va_list ap;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
608 ; va_start(ap, a);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
609 ; b = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
610 ; c = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
611 ; d = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
612 ; e = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
613 ; f = va_arg(ap, float);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
614 ; g = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
615 ; h = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
616 ; i = va_arg(ap, int);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
617 ; j = va_arg(ap, int);
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
618 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
619 ; /* use some local data */
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
620 ; *(char*)alloca(220) = 'L';
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
621 ; leaf_call(b, c, d, e, f, g, h, i, j);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
622 ; }
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
623 ;
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
624 ; int main()
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
625 ; {
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
626 ; nonleaf_call(0, 1, 2, 3, 4, 5.f, 6, 7, 8, 9);
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
627 ; return 0;
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
628 ; }
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
629
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
630
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
631
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
632 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
633
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
634 0000000000000000 leaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
635 0: ff c3 00 d1 sub sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
636 4: e0 2f 00 b9 str w0, [sp, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
637 8: e1 2b 00 b9 str w1, [sp, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
638 c: e2 27 00 b9 str w2, [sp, #36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
639 10: e3 23 00 b9 str w3, [sp, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
640 14: e0 1f 00 bd str s0, [sp, #28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
641 18: e4 1b 00 b9 str w4, [sp, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
642 1c: e5 17 00 b9 str w5, [sp, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
643 20: e6 13 00 b9 str w6, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
644 24: e7 0f 00 b9 str w7, [sp, #12]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
645 28: ff c3 00 91 add sp, sp, #48
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
646 2c: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
647
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
648 0000000000000030 nonleaf_call:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
649 30: fc 4f be a9 stp x28, x19, [sp, #-32]!
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
650 34: fd 7b 01 a9 stp x29, x30, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
651 38: fd 43 00 91 add x29, sp, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
652 3c: ff 83 07 d1 sub sp, sp, #480
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
653 40: f3 03 00 91 mov x19, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
654 44: 67 56 80 3d str q7, [x19, #336]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
655 48: 66 52 80 3d str q6, [x19, #320]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
656 4c: 65 4e 80 3d str q5, [x19, #304]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
657 50: 64 4a 80 3d str q4, [x19, #288]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
658 54: 63 46 80 3d str q3, [x19, #272]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
659 58: 62 42 80 3d str q2, [x19, #256]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
660 5c: 61 3e 80 3d str q1, [x19, #240]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
661 60: 60 3a 80 3d str q0, [x19, #224]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
662 64: a7 03 1a f8 stur x7, [x29, #-96]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
663 68: a6 83 19 f8 stur x6, [x29, #-104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
664 6c: a5 03 19 f8 stur x5, [x29, #-112]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
665 70: a4 83 18 f8 stur x4, [x29, #-120]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
666 74: a3 03 18 f8 stur x3, [x29, #-128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
667 78: a2 83 17 f8 stur x2, [x29, #-136]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
668 7c: a1 03 17 f8 stur x1, [x29, #-144]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
669 80: a0 c3 1e b8 stur w0, [x29, #-20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
670 84: e0 63 19 32 orr w0, wzr, #0xffffff80
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
671 88: a0 43 1c b8 stur w0, [x29, #-60]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
672 8c: e0 06 80 12 mov w0, #-56
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
673 90: a0 03 1c b8 stur w0, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
674 94: 61 82 03 91 add x1, x19, #224
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
675 98: 21 00 02 91 add x1, x1, #128
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
676 9c: a1 83 1b f8 stur x1, [x29, #-72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
677 a0: a1 43 02 d1 sub x1, x29, #144
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
678 a4: 21 e0 00 91 add x1, x1, #56
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
679 a8: a1 03 1b f8 stur x1, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
680 ac: a1 43 00 91 add x1, x29, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
681 b0: a1 83 1a f8 stur x1, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
682 b4: a1 63 01 d1 sub x1, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
683 b8: 21 60 00 91 add x1, x1, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
684 bc: a0 03 5c b8 ldur w0, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
685 c0: e8 03 00 2a mov w8, w0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
686 c4: 61 6e 00 f9 str x1, [x19, #216]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
687 c8: 68 d6 00 b9 str w8, [x19, #212]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
688 cc: e0 01 f8 36 tbz w0, #31, #60 <nonleaf_call+0xd8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
689 d0: 01 00 00 14 b #4 <nonleaf_call+0xa4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
690 d4: 68 d6 40 b9 ldr w8, [x19, #212]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
691 d8: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
692 dc: 6a 6e 40 f9 ldr x10, [x19, #216]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
693 e0: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
694 e4: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
695 e8: 69 d2 00 b9 str w9, [x19, #208]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
696 ec: ec 00 00 54 b.gt #28 <nonleaf_call+0xd8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
697 f0: 01 00 00 14 b #4 <nonleaf_call+0xc4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
698 f4: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
699 f8: 69 d6 40 b9 ldr w9, [x19, #212]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
700 fc: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
701 100: 68 66 00 f9 str x8, [x19, #200]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
702 104: 06 00 00 14 b #24 <nonleaf_call+0xec>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
703 108: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
704 10c: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
705 110: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
706 114: 68 66 00 f9 str x8, [x19, #200]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
707 118: 01 00 00 14 b #4 <nonleaf_call+0xec>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
708 11c: 68 66 40 f9 ldr x8, [x19, #200]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
709 120: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
710 124: a9 83 1e b8 stur w9, [x29, #-24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
711 128: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
712 12c: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
713 130: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
714 134: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
715 138: 68 62 00 f9 str x8, [x19, #192]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
716 13c: 6a be 00 b9 str w10, [x19, #188]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
717 140: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x14c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
718 144: 01 00 00 14 b #4 <nonleaf_call+0x118>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
719 148: 68 be 40 b9 ldr w8, [x19, #188]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
720 14c: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
721 150: 6a 62 40 f9 ldr x10, [x19, #192]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
722 154: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
723 158: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
724 15c: 69 ba 00 b9 str w9, [x19, #184]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
725 160: ec 00 00 54 b.gt #28 <nonleaf_call+0x14c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
726 164: 01 00 00 14 b #4 <nonleaf_call+0x138>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
727 168: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
728 16c: 69 be 40 b9 ldr w9, [x19, #188]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
729 170: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
730 174: 68 5a 00 f9 str x8, [x19, #176]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
731 178: 06 00 00 14 b #24 <nonleaf_call+0x160>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
732 17c: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
733 180: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
734 184: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
735 188: 68 5a 00 f9 str x8, [x19, #176]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
736 18c: 01 00 00 14 b #4 <nonleaf_call+0x160>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
737 190: 68 5a 40 f9 ldr x8, [x19, #176]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
738 194: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
739 198: a9 43 1e b8 stur w9, [x29, #-28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
740 19c: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
741 1a0: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
742 1a4: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
743 1a8: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
744 1ac: 68 56 00 f9 str x8, [x19, #168]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
745 1b0: 6a a6 00 b9 str w10, [x19, #164]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
746 1b4: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x1c0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
747 1b8: 01 00 00 14 b #4 <nonleaf_call+0x18c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
748 1bc: 68 a6 40 b9 ldr w8, [x19, #164]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
749 1c0: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
750 1c4: 6a 56 40 f9 ldr x10, [x19, #168]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
751 1c8: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
752 1cc: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
753 1d0: 69 a2 00 b9 str w9, [x19, #160]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
754 1d4: ec 00 00 54 b.gt #28 <nonleaf_call+0x1c0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
755 1d8: 01 00 00 14 b #4 <nonleaf_call+0x1ac>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
756 1dc: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
757 1e0: 69 a6 40 b9 ldr w9, [x19, #164]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
758 1e4: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
759 1e8: 68 4e 00 f9 str x8, [x19, #152]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
760 1ec: 06 00 00 14 b #24 <nonleaf_call+0x1d4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
761 1f0: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
762 1f4: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
763 1f8: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
764 1fc: 68 4e 00 f9 str x8, [x19, #152]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
765 200: 01 00 00 14 b #4 <nonleaf_call+0x1d4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
766 204: 68 4e 40 f9 ldr x8, [x19, #152]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
767 208: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
768 20c: a9 03 1e b8 stur w9, [x29, #-32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
769 210: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
770 214: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
771 218: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
772 21c: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
773 220: 68 4a 00 f9 str x8, [x19, #144]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
774 224: 6a 8e 00 b9 str w10, [x19, #140]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
775 228: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x234>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
776 22c: 01 00 00 14 b #4 <nonleaf_call+0x200>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
777 230: 68 8e 40 b9 ldr w8, [x19, #140]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
778 234: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
779 238: 6a 4a 40 f9 ldr x10, [x19, #144]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
780 23c: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
781 240: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
782 244: 69 8a 00 b9 str w9, [x19, #136]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
783 248: ec 00 00 54 b.gt #28 <nonleaf_call+0x234>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
784 24c: 01 00 00 14 b #4 <nonleaf_call+0x220>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
785 250: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
786 254: 69 8e 40 b9 ldr w9, [x19, #140]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
787 258: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
788 25c: 68 42 00 f9 str x8, [x19, #128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
789 260: 06 00 00 14 b #24 <nonleaf_call+0x248>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
790 264: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
791 268: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
792 26c: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
793 270: 68 42 00 f9 str x8, [x19, #128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
794 274: 01 00 00 14 b #4 <nonleaf_call+0x248>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
795 278: 68 42 40 f9 ldr x8, [x19, #128]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
796 27c: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
797 280: a9 c3 1d b8 stur w9, [x29, #-36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
798 284: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
799 288: 08 71 00 91 add x8, x8, #28
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
800 28c: a9 43 5c b8 ldur w9, [x29, #-60]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
801 290: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
802 294: 68 3e 00 f9 str x8, [x19, #120]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
803 298: 6a 76 00 b9 str w10, [x19, #116]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
804 29c: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x2a8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
805 2a0: 01 00 00 14 b #4 <nonleaf_call+0x274>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
806 2a4: 68 76 40 b9 ldr w8, [x19, #116]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
807 2a8: 09 41 00 11 add w9, w8, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
808 2ac: 6a 3e 40 f9 ldr x10, [x19, #120]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
809 2b0: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
810 2b4: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
811 2b8: 69 72 00 b9 str w9, [x19, #112]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
812 2bc: ec 00 00 54 b.gt #28 <nonleaf_call+0x2a8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
813 2c0: 01 00 00 14 b #4 <nonleaf_call+0x294>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
814 2c4: a8 83 5b f8 ldur x8, [x29, #-72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
815 2c8: 69 76 40 b9 ldr w9, [x19, #116]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
816 2cc: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
817 2d0: 68 36 00 f9 str x8, [x19, #104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
818 2d4: 06 00 00 14 b #24 <nonleaf_call+0x2bc>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
819 2d8: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
820 2dc: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
821 2e0: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
822 2e4: 68 36 00 f9 str x8, [x19, #104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
823 2e8: 01 00 00 14 b #4 <nonleaf_call+0x2bc>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
824 2ec: 68 36 40 f9 ldr x8, [x19, #104]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
825 2f0: 00 01 40 bd ldr s0, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
826 2f4: a0 83 1c bc stur s0, [x29, #-56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
827 2f8: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
828 2fc: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
829 300: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
830 304: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
831 308: 68 32 00 f9 str x8, [x19, #96]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
832 30c: 6a 5e 00 b9 str w10, [x19, #92]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
833 310: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x31c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
834 314: 01 00 00 14 b #4 <nonleaf_call+0x2e8>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
835 318: 68 5e 40 b9 ldr w8, [x19, #92]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
836 31c: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
837 320: 6a 32 40 f9 ldr x10, [x19, #96]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
838 324: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
839 328: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
840 32c: 69 5a 00 b9 str w9, [x19, #88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
841 330: ec 00 00 54 b.gt #28 <nonleaf_call+0x31c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
842 334: 01 00 00 14 b #4 <nonleaf_call+0x308>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
843 338: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
844 33c: 69 5e 40 b9 ldr w9, [x19, #92]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
845 340: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
846 344: 68 2a 00 f9 str x8, [x19, #80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
847 348: 06 00 00 14 b #24 <nonleaf_call+0x330>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
848 34c: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
849 350: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
850 354: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
851 358: 68 2a 00 f9 str x8, [x19, #80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
852 35c: 01 00 00 14 b #4 <nonleaf_call+0x330>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
853 360: 68 2a 40 f9 ldr x8, [x19, #80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
854 364: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
855 368: a9 83 1d b8 stur w9, [x29, #-40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
856 36c: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
857 370: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
858 374: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
859 378: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
860 37c: 68 26 00 f9 str x8, [x19, #72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
861 380: 6a 46 00 b9 str w10, [x19, #68]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
862 384: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x390>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
863 388: 01 00 00 14 b #4 <nonleaf_call+0x35c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
864 38c: 68 46 40 b9 ldr w8, [x19, #68]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
865 390: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
866 394: 6a 26 40 f9 ldr x10, [x19, #72]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
867 398: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
868 39c: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
869 3a0: 69 42 00 b9 str w9, [x19, #64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
870 3a4: ec 00 00 54 b.gt #28 <nonleaf_call+0x390>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
871 3a8: 01 00 00 14 b #4 <nonleaf_call+0x37c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
872 3ac: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
873 3b0: 69 46 40 b9 ldr w9, [x19, #68]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
874 3b4: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
875 3b8: 68 1e 00 f9 str x8, [x19, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
876 3bc: 06 00 00 14 b #24 <nonleaf_call+0x3a4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
877 3c0: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
878 3c4: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
879 3c8: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
880 3cc: 68 1e 00 f9 str x8, [x19, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
881 3d0: 01 00 00 14 b #4 <nonleaf_call+0x3a4>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
882 3d4: 68 1e 40 f9 ldr x8, [x19, #56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
883 3d8: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
884 3dc: a9 43 1d b8 stur w9, [x29, #-44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
885 3e0: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
886 3e4: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
887 3e8: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
888 3ec: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
889 3f0: 68 1a 00 f9 str x8, [x19, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
890 3f4: 6a 2e 00 b9 str w10, [x19, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
891 3f8: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x404>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
892 3fc: 01 00 00 14 b #4 <nonleaf_call+0x3d0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
893 400: 68 2e 40 b9 ldr w8, [x19, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
894 404: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
895 408: 6a 1a 40 f9 ldr x10, [x19, #48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
896 40c: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
897 410: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
898 414: 69 2a 00 b9 str w9, [x19, #40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
899 418: ec 00 00 54 b.gt #28 <nonleaf_call+0x404>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
900 41c: 01 00 00 14 b #4 <nonleaf_call+0x3f0>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
901 420: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
902 424: 69 2e 40 b9 ldr w9, [x19, #44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
903 428: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
904 42c: 68 12 00 f9 str x8, [x19, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
905 430: 06 00 00 14 b #24 <nonleaf_call+0x418>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
906 434: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
907 438: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
908 43c: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
909 440: 68 12 00 f9 str x8, [x19, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
910 444: 01 00 00 14 b #4 <nonleaf_call+0x418>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
911 448: 68 12 40 f9 ldr x8, [x19, #32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
912 44c: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
913 450: a9 03 1d b8 stur w9, [x29, #-48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
914 454: a8 63 01 d1 sub x8, x29, #88
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
915 458: 08 61 00 91 add x8, x8, #24
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
916 45c: a9 03 5c b8 ldur w9, [x29, #-64]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
917 460: ea 03 09 2a mov w10, w9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
918 464: 68 0e 00 f9 str x8, [x19, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
919 468: 6a 16 00 b9 str w10, [x19, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
920 46c: e9 01 f8 36 tbz w9, #31, #60 <nonleaf_call+0x478>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
921 470: 01 00 00 14 b #4 <nonleaf_call+0x444>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
922 474: 68 16 40 b9 ldr w8, [x19, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
923 478: 09 21 00 11 add w9, w8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
924 47c: 6a 0e 40 f9 ldr x10, [x19, #24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
925 480: 49 01 00 b9 str w9, [x10]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
926 484: 29 01 00 71 subs w9, w9, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
927 488: 69 12 00 b9 str w9, [x19, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
928 48c: ec 00 00 54 b.gt #28 <nonleaf_call+0x478>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
929 490: 01 00 00 14 b #4 <nonleaf_call+0x464>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
930 494: a8 03 5b f8 ldur x8, [x29, #-80]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
931 498: 69 16 40 b9 ldr w9, [x19, #20]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
932 49c: 08 c1 29 8b add x8, x8, w9, sxtw
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
933 4a0: 68 06 00 f9 str x8, [x19, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
934 4a4: 06 00 00 14 b #24 <nonleaf_call+0x48c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
935 4a8: a8 83 5a f8 ldur x8, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
936 4ac: 09 21 00 91 add x9, x8, #8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
937 4b0: a9 83 1a f8 stur x9, [x29, #-88]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
938 4b4: 68 06 00 f9 str x8, [x19, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
939 4b8: 01 00 00 14 b #4 <nonleaf_call+0x48c>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
940 4bc: 68 06 40 f9 ldr x8, [x19, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
941 4c0: 09 01 40 b9 ldr w9, [x8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
942 4c4: a9 c3 1c b8 stur w9, [x29, #-52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
943 4c8: e8 03 00 91 mov x8, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
944 4cc: 0a 81 03 f1 subs x10, x8, #224
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
945 4d0: 5f 01 00 91 mov sp, x10
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
946 4d4: 89 09 80 52 mov w9, #76
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
947 4d8: 09 01 12 38 sturb w9, [x8, #-224]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
948 4dc: a0 83 5e b8 ldur w0, [x29, #-24]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
949 4e0: a1 43 5e b8 ldur w1, [x29, #-28]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
950 4e4: a2 03 5e b8 ldur w2, [x29, #-32]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
951 4e8: a3 c3 5d b8 ldur w3, [x29, #-36]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
952 4ec: a0 83 5c bc ldur s0, [x29, #-56]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
953 4f0: a4 83 5d b8 ldur w4, [x29, #-40]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
954 4f4: a5 43 5d b8 ldur w5, [x29, #-44]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
955 4f8: a6 03 5d b8 ldur w6, [x29, #-48]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
956 4fc: a7 c3 5c b8 ldur w7, [x29, #-52]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
957 500: c0 fe ff 97 bl #-1280 <leaf_call>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
958 504: bf 43 00 d1 sub sp, x29, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
959 508: fd 7b 41 a9 ldp x29, x30, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
960 50c: fc 4f c2 a8 ldp x28, x19, [sp], #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
961 510: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
962
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
963 0000000000000514 main:
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
964 514: ff 83 00 d1 sub sp, sp, #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
965 518: fd 7b 01 a9 stp x29, x30, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
966 51c: fd 43 00 91 add x29, sp, #16
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
967 520: 08 00 80 52 mov w8, #0
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
968 524: e1 03 00 32 orr w1, wzr, #0x1
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
969 528: e2 03 1f 32 orr w2, wzr, #0x2
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
970 52c: e3 07 00 32 orr w3, wzr, #0x3
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
971 530: e4 03 1e 32 orr w4, wzr, #0x4
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
972 534: 89 02 e8 d2 mov x9, #4617315517961601024
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
973 538: 20 01 67 9e fmov d0, x9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
974 53c: e5 07 1f 32 orr w5, wzr, #0x6
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
975 540: e6 0b 00 32 orr w6, wzr, #0x7
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
976 544: e7 03 1d 32 orr w7, wzr, #0x8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
977 548: 2a 01 80 52 mov w10, #9
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
978 54c: bf c3 1f b8 stur wzr, [x29, #-4]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
979 550: e0 03 08 2a mov w0, w8
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
980 554: e9 03 00 91 mov x9, sp
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
981 558: 2a 01 00 b9 str w10, [x9]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
982 55c: e8 0b 00 b9 str w8, [sp, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
983 560: b4 fe ff 97 bl #-1328 <nonleaf_call>
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
984 564: e0 0b 40 b9 ldr w0, [sp, #8]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
985 568: fd 7b 41 a9 ldp x29, x30, [sp, #16]
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
986 56c: ff 83 00 91 add sp, sp, #32
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
987 570: c0 03 5f d6 ret
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
988
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
989
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
990
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
991 ; ---------- structs by value ---------->
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
992 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
993 ; struct A { int i, j; long long l; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
994 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
995 ; void leaf_call(int b, int c, int d, int e, struct A f, int g, int h)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
996 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
997 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
998 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
999 ; void nonleaf_call(int a, int b, int c, int d, int e, struct A f, int g, int h)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1000 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1001 ; /* use some local data */
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1002 ; char l[100] ={ 'L'};
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1003 ; leaf_call(b, c, d, e, f, g, h);
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1004 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1005 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1006 ; int main()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1007 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1008 ; nonleaf_call(0, 1, 2, 3, 4, (struct A){5, 6, 7ll}, 8, 9);
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1009 ; return 0;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1010 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1011
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1012
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1013
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1014 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1015
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1016 0000000000000000 leaf_call:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1017 0: ff c3 00 d1 sub sp, sp, #48
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1018 4: e4 13 00 f9 str x4, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1019 8: e5 17 00 f9 str x5, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1020 c: e0 1f 00 b9 str w0, [sp, #28]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1021 10: e1 1b 00 b9 str w1, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1022 14: e2 17 00 b9 str w2, [sp, #20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1023 18: e3 13 00 b9 str w3, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1024 1c: e6 0f 00 b9 str w6, [sp, #12]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1025 20: e7 0b 00 b9 str w7, [sp, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1026 24: ff c3 00 91 add sp, sp, #48
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1027 28: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1028
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1029 000000000000002c nonleaf_call:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1030 2c: ff c3 02 d1 sub sp, sp, #176
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1031 30: fd 7b 0a a9 stp x29, x30, [sp, #160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1032 34: fd 83 02 91 add x29, sp, #160
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1033 38: a8 13 40 b9 ldr w8, [x29, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1034 3c: 09 00 80 52 mov w9, #0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1035 40: 8a 0c 80 d2 mov x10, #100
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1036 44: 8b 09 80 52 mov w11, #76
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1037 48: ec 43 00 91 add x12, sp, #16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1038 4c: a5 03 1f f8 stur x5, [x29, #-16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1039 50: a6 83 1f f8 stur x6, [x29, #-8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1040 54: a0 c3 1e b8 stur w0, [x29, #-20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1041 58: a1 83 1e b8 stur w1, [x29, #-24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1042 5c: a2 43 1e b8 stur w2, [x29, #-28]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1043 60: a3 03 1e b8 stur w3, [x29, #-32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1044 64: a4 c3 1d b8 stur w4, [x29, #-36]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1045 68: a7 83 1d b8 stur w7, [x29, #-40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1046 6c: a8 43 1d b8 stur w8, [x29, #-44]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1047 70: e0 03 0c aa mov x0, x12
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1048 74: e1 03 09 2a mov w1, w9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1049 78: e2 03 0a aa mov x2, x10
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1050 7c: eb 0f 00 b9 str w11, [sp, #12]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1051 80: ec 03 00 f9 str x12, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1052 84: 00 00 00 94 bl #0 <nonleaf_call+0x58>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1053 88: e8 0f 40 b9 ldr w8, [sp, #12]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1054 8c: ea 03 40 f9 ldr x10, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1055 90: 48 01 00 39 strb w8, [x10]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1056 94: a0 83 5e b8 ldur w0, [x29, #-24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1057 98: a1 43 5e b8 ldur w1, [x29, #-28]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1058 9c: a2 03 5e b8 ldur w2, [x29, #-32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1059 a0: a3 c3 5d b8 ldur w3, [x29, #-36]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1060 a4: a6 83 5d b8 ldur w6, [x29, #-40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1061 a8: a7 43 5d b8 ldur w7, [x29, #-44]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1062 ac: ac 03 5f f8 ldur x12, [x29, #-16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1063 b0: a5 83 5f f8 ldur x5, [x29, #-8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1064 b4: e4 03 0c aa mov x4, x12
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1065 b8: d2 ff ff 97 bl #-184 <leaf_call>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1066 bc: fd 7b 4a a9 ldp x29, x30, [sp, #160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1067 c0: ff c3 02 91 add sp, sp, #176
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1068 c4: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1069
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1070 00000000000000c8 main:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1071 c8: ff 03 01 d1 sub sp, sp, #64 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1072 cc: fd 7b 03 a9 stp x29, x30, [sp, #48] ; | prolog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1073 d0: fd c3 00 91 add x29, sp, #48 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1074 d4: 08 00 80 52 mov w8, #0 ; prep arg 0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1075 d8: a9 00 80 52 mov w9, #5 ; | i
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1076 dc: ea 07 1f 32 orr w10, wzr, #0x6 ; | prep local struct A's data j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1077 e0: eb 0b 40 b2 orr x11, xzr, #0x7 ; | l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1078 e4: e1 03 00 32 orr w1, wzr, #0x1 ; arg 1
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1079 e8: e2 03 1f 32 orr w2, wzr, #0x2 ; arg 2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1080 ec: e3 07 00 32 orr w3, wzr, #0x3 ; arg 3
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1081 f0: e4 03 1e 32 orr w4, wzr, #0x4 ; arg 4
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1082 f4: e7 03 1d 32 orr w7, wzr, #0x8 ; arg 6
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1083 f8: 2c 01 80 52 mov w12, #9 ; prep arg 7
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1084 fc: ed 63 00 91 add x13, sp, #24 ; used for indirection below, a bit pointless
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1085 100: bf c3 1f b8 stur wzr, [x29, #-4] ; zero 4 bytes in local area @@@ unsure why
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1086 104: a9 01 00 b9 str w9, [x13] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1087 108: ea 1f 00 b9 str w10, [sp, #28] ; | write struct A to local area
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1088 10c: eb 13 00 f9 str x11, [sp, #32] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1089 110: eb 0f 40 f9 ldr x11, [sp, #24] ; 1st dword of struct A -> x11
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1090 114: ed 13 40 f9 ldr x13, [sp, #32] ; 2nd dword of struct A -> x13
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1091 118: e0 03 08 2a mov w0, w8 ; arg 0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1092 11c: e5 03 0b aa mov x5, x11 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1093 120: e6 03 0d aa mov x6, x13 ; / arg 5 (struct A), passed in regs as 2 dwords
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1094 124: eb 03 00 91 mov x11, sp ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1095 128: 6c 01 00 b9 str w12, [x11] ; | arg 7, pushed onto stack
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1096 12c: e8 17 00 b9 str w8, [sp, #20] ; prep return value, temp store on stack local area
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1097 130: bf ff ff 97 bl #-260 <nonleaf_call> ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1098 134: e0 17 40 b9 ldr w0, [sp, #20] ; return value (unsure why not just using immediate @@@)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1099 138: fd 7b 43 a9 ldp x29, x30, [sp, #48] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1100 13c: ff 03 01 91 add sp, sp, #64 ; | epilog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1101 140: c0 03 5f d6 ret ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1102
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1103
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1104
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1105 ; output from godbolt compiler explorer w/ msvc 19.14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1106
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1107 |leaf_call| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1108 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1109 sub sp,sp,#0x30
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1110 str w0,[sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1111 str w1,[sp,#4]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1112 str w2,[sp,#8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1113 str w3,[sp,#0xC]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1114 str x4,[sp,#0x18]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1115 str x5,[sp,#0x20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1116 str w6,[sp,#0x10]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1117 str w7,[sp,#0x14]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1118 add sp,sp,#0x30
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1119 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1120
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1121 ENDP ; |leaf_call|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1122
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1123 |nonleaf_call| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1124 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1125 stp fp,lr,[sp,#-0x10]!
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1126 mov fp,sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1127 bl __security_push_cookie
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1128 sub sp,sp,#0x90
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1129 str w0,[sp,#0x14]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1130 str w1,[sp,#0x10]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1131 str w2,[sp,#0xC]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1132 str w3,[sp,#8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1133 str w4,[sp,#4]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1134 str x5,[sp,#0x18]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1135 str x6,[sp,#0x20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1136 str w7,[sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1137 mov w8,#0x4C
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1138 strb w8,[sp,#0x28]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1139 add x9,sp,#0x29
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1140 mov x8,#0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1141 stp x8,x8,[x9]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1142 stp x8,x8,[x9,#0x10]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1143 stp x8,x8,[x9,#0x20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1144 stp x8,x8,[x9,#0x30]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1145 stp x8,x8,[x9,#0x40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1146 stp x8,x8,[x9,#0x50]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1147 strh w8,[x9,#0x60]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1148 strb w8,[x9,#0x62]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1149 ldr w7,[sp,#0xB0]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1150 ldr w6,[sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1151 ldr x5,[sp,#0x20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1152 ldr x4,[sp,#0x18]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1153 ldr w3,[sp,#4]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1154 ldr w2,[sp,#8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1155 ldr w1,[sp,#0xC]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1156 ldr w0,[sp,#0x10]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1157 bl leaf_call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1158 add sp,sp,#0x90
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1159 bl __security_pop_cookie
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1160 ldp fp,lr,[sp],#0x10
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1161 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1162
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1163 ENDP ; |nonleaf_call|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1164
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1165 |main| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1166 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1167 stp fp,lr,[sp,#-0x10]! ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1168 mov fp,sp ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1169 bl __security_push_cookie ; | prolog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1170 sub sp,sp,#0x20 ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1171 mov w8,#5 ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1172 str w8,[sp,#0x10] ; | i
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1173 mov w8,#6 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1174 str w8,[sp,#0x14] ; | write struct A to local area j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1175 mov x8,#7 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1176 str x8,[sp,#0x18] ; / l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1177 mov w8,#9 ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1178 str w8,[sp] ; | arg 7, pushed onto stack
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1179 mov w7,#8 ; arg 6
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1180 ldr x6,[sp,#0x18] ; | l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1181 ldr x5,[sp,#0x10] ; | arg 5 (struct A), passed in regs as 2 dwords i, j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1182 mov w4,#4 ; arg 4
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1183 mov w3,#3 ; arg 3
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1184 mov w2,#2 ; arg 2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1185 mov w1,#1 ; arg 1
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1186 mov w0,#0 ; arg 0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1187 bl nonleaf_call ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1188 mov w0,#0 ; return value
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1189 add sp,sp,#0x20 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1190 bl __security_pop_cookie ; | epilog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1191 ldp fp,lr,[sp],#0x10 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1192 ret ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1193
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1194 ENDP ; |main|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1195
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1196
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1197
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1198 ; ---------- structs by value, complex example (multiple structs) ---------->
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1199 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1200 ; struct A { int i, j; float f; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1201 ; struct B { double d; long long l; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1202 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1203 ; void leaf_call(int b, struct A c, struct B d, int e, int f, struct A g, struct B h, int i, int j)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1204 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1205 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1206 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1207 ; void nonleaf_call(int a, int b, struct A c, struct B d, int e, int f, struct A g, struct B h, int i, int j)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1208 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1209 ; /* use some local data */
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1210 ; char l[100] ={ 'L'};
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1211 ; leaf_call(b, c, d, e, f, g, h, i, j);
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1212 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1213 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1214 ; int main()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1215 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1216 ; nonleaf_call(0, 1, (struct A){2, 3, 4.f}, (struct B){5., 6ll}, 7, 8, (struct A){9, 10, 11.f}, (struct B){12., 13ll}, 14, 15);
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1217 ; return 0;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1218 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1219
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1220
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1221
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1222 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1223
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1224 0000000000000000 leaf_call:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1225 0: ff 83 03 d1 sub sp, sp, #224
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1226 4: fe 6b 00 f9 str x30, [sp, #208]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1227 8: e8 73 40 f9 ldr x8, [sp, #224]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1228 c: e9 77 40 f9 ldr x9, [sp, #232]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1229 10: ea 7b 40 f9 ldr x10, [sp, #240]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1230 14: eb 7f 40 f9 ldr x11, [sp, #248]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1231 18: ec 03 41 b9 ldr w12, [sp, #256]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1232 1c: ed 0b 41 b9 ldr w13, [sp, #264]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1233 20: ee 07 7e b2 orr x14, xzr, #0xc
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1234 24: ef 13 03 91 add x15, sp, #196
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1235 28: f0 c3 02 91 add x16, sp, #176
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1236 2c: f1 53 02 91 add x17, sp, #148
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1237 30: f2 03 02 91 add x18, sp, #128
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1238 34: e1 5b 00 f9 str x1, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1239 38: e2 5f 00 f9 str x2, [sp, #184]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1240 3c: e0 5b 00 b9 str w0, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1241 40: e0 03 0f aa mov x0, x15
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1242 44: e1 03 10 aa mov x1, x16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1243 48: e2 03 0e aa mov x2, x14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1244 4c: e5 57 00 b9 str w5, [sp, #84]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1245 50: e6 53 00 b9 str w6, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1246 54: e8 27 00 f9 str x8, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1247 58: e9 23 00 f9 str x9, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1248 5c: ea 1f 00 f9 str x10, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1249 60: eb 1b 00 f9 str x11, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1250 64: ec 2f 00 b9 str w12, [sp, #44]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1251 68: ed 2b 00 b9 str w13, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1252 6c: e3 13 00 f9 str x3, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1253 70: e4 0f 00 f9 str x4, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1254 74: ee 0b 00 f9 str x14, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1255 78: f1 07 00 f9 str x17, [sp, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1256 7c: f2 03 00 f9 str x18, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1257 80: 00 00 00 94 bl #0 <leaf_call+0x80>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1258 84: e8 13 40 f9 ldr x8, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1259 88: e8 53 00 f9 str x8, [sp, #160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1260 8c: e9 0f 40 f9 ldr x9, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1261 90: e9 57 00 f9 str x9, [sp, #168]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1262 94: ea 27 40 f9 ldr x10, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1263 98: ea 43 00 f9 str x10, [sp, #128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1264 9c: eb 23 40 f9 ldr x11, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1265 a0: eb 47 00 f9 str x11, [sp, #136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1266 a4: e0 07 40 f9 ldr x0, [sp, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1267 a8: e1 03 40 f9 ldr x1, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1268 ac: e2 0b 40 f9 ldr x2, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1269 b0: 00 00 00 94 bl #0 <leaf_call+0xb0>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1270 b4: e8 1f 40 f9 ldr x8, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1271 b8: e8 3b 00 f9 str x8, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1272 bc: e9 1b 40 f9 ldr x9, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1273 c0: e9 3f 00 f9 str x9, [sp, #120]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1274 c4: ec 5b 40 b9 ldr w12, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1275 c8: ec 6f 00 b9 str w12, [sp, #108]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1276 cc: ed 57 40 b9 ldr w13, [sp, #84]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1277 d0: ed 6b 00 b9 str w13, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1278 d4: e5 53 40 b9 ldr w5, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1279 d8: e5 67 00 b9 str w5, [sp, #100]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1280 dc: e6 2f 40 b9 ldr w6, [sp, #44]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1281 e0: e6 63 00 b9 str w6, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1282 e4: e7 2b 40 b9 ldr w7, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1283 e8: e7 5f 00 b9 str w7, [sp, #92]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1284 ec: fe 6b 40 f9 ldr x30, [sp, #208]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1285 f0: ff 83 03 91 add sp, sp, #224
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1286 f4: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1287
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1288 00000000000000f8 nonleaf_call:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1289 f8: fc 67 bb a9 stp x28, x25, [sp, #-80]!
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1290 fc: f8 5f 01 a9 stp x24, x23, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1291 100: f6 57 02 a9 stp x22, x21, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1292 104: f4 4f 03 a9 stp x20, x19, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1293 108: fd 7b 04 a9 stp x29, x30, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1294 10c: fd 03 01 91 add x29, sp, #64
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1295 110: ff 43 08 d1 sub sp, sp, #528
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1296 114: a8 0b 40 f9 ldr x8, [x29, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1297 118: a9 0f 40 f9 ldr x9, [x29, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1298 11c: aa 13 40 f9 ldr x10, [x29, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1299 120: ab 17 40 f9 ldr x11, [x29, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1300 124: ac 33 40 b9 ldr w12, [x29, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1301 128: ad 3b 40 b9 ldr w13, [x29, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1302 12c: ee 07 7e b2 orr x14, xzr, #0xc
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1303 130: 0f 00 80 52 mov w15, #0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1304 134: 90 0c 80 d2 mov x16, #100
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1305 138: 91 09 80 52 mov w17, #76
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1306 13c: b2 33 01 d1 sub x18, x29, #76
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1307 140: b3 83 01 d1 sub x19, x29, #96
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1308 144: b4 f3 01 d1 sub x20, x29, #124
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1309 148: b5 43 02 d1 sub x21, x29, #144
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1310 14c: f6 d3 04 91 add x22, sp, #308
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1311 150: f7 83 04 91 add x23, sp, #288
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1312 154: f8 43 04 91 add x24, sp, #272
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1313 158: a2 03 1a f8 stur x2, [x29, #-96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1314 15c: a3 83 1a f8 stur x3, [x29, #-88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1315 160: e0 0f 01 b9 str w0, [sp, #268]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1316 164: e0 03 12 aa mov x0, x18
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1317 168: e1 0b 01 b9 str w1, [sp, #264]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1318 16c: e1 03 13 aa mov x1, x19
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1319 170: e2 03 0e aa mov x2, x14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1320 174: e6 07 01 b9 str w6, [sp, #260]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1321 178: e7 03 01 b9 str w7, [sp, #256]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1322 17c: e8 7f 00 f9 str x8, [sp, #248]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1323 180: e9 7b 00 f9 str x9, [sp, #240]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1324 184: ea 77 00 f9 str x10, [sp, #232]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1325 188: eb 73 00 f9 str x11, [sp, #224]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1326 18c: ec df 00 b9 str w12, [sp, #220]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1327 190: ed db 00 b9 str w13, [sp, #216]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1328 194: e4 6b 00 f9 str x4, [sp, #208]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1329 198: e5 67 00 f9 str x5, [sp, #200]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1330 19c: ee 63 00 f9 str x14, [sp, #192]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1331 1a0: ef bf 00 b9 str w15, [sp, #188]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1332 1a4: f0 5b 00 f9 str x16, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1333 1a8: f1 af 00 b9 str w17, [sp, #172]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1334 1ac: f2 53 00 f9 str x18, [sp, #160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1335 1b0: f4 4f 00 f9 str x20, [sp, #152]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1336 1b4: f5 4b 00 f9 str x21, [sp, #144]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1337 1b8: f6 47 00 f9 str x22, [sp, #136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1338 1bc: f7 43 00 f9 str x23, [sp, #128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1339 1c0: f8 3f 00 f9 str x24, [sp, #120]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1340 1c4: 00 00 00 94 bl #0 <nonleaf_call+0xcc>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1341 1c8: e8 6b 40 f9 ldr x8, [sp, #208]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1342 1cc: a8 03 19 f8 stur x8, [x29, #-112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1343 1d0: e9 67 40 f9 ldr x9, [sp, #200]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1344 1d4: a9 83 19 f8 stur x9, [x29, #-104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1345 1d8: ea 7f 40 f9 ldr x10, [sp, #248]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1346 1dc: aa 03 17 f8 stur x10, [x29, #-144]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1347 1e0: eb 7b 40 f9 ldr x11, [sp, #240]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1348 1e4: ab 83 17 f8 stur x11, [x29, #-136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1349 1e8: e0 4f 40 f9 ldr x0, [sp, #152]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1350 1ec: e1 4b 40 f9 ldr x1, [sp, #144]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1351 1f0: e2 63 40 f9 ldr x2, [sp, #192]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1352 1f4: 00 00 00 94 bl #0 <nonleaf_call+0xfc>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1353 1f8: e8 77 40 f9 ldr x8, [sp, #232]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1354 1fc: a8 03 16 f8 stur x8, [x29, #-160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1355 200: e9 73 40 f9 ldr x9, [sp, #224]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1356 204: a9 83 16 f8 stur x9, [x29, #-152]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1357 208: ec 0f 41 b9 ldr w12, [sp, #268]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1358 20c: ac c3 15 b8 stur w12, [x29, #-164]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1359 210: ed 0b 41 b9 ldr w13, [sp, #264]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1360 214: ad 83 15 b8 stur w13, [x29, #-168]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1361 218: ef 07 41 b9 ldr w15, [sp, #260]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1362 21c: af 43 15 b8 stur w15, [x29, #-172]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1363 220: f1 03 41 b9 ldr w17, [sp, #256]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1364 224: b1 03 15 b8 stur w17, [x29, #-176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1365 228: e6 df 40 b9 ldr w6, [sp, #220]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1366 22c: a6 c3 14 b8 stur w6, [x29, #-180]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1367 230: e7 db 40 b9 ldr w7, [sp, #216]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1368 234: a7 83 14 b8 stur w7, [x29, #-184]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1369 238: e0 47 40 f9 ldr x0, [sp, #136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1370 23c: f9 bf 40 b9 ldr w25, [sp, #188]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1371 240: e1 03 19 2a mov w1, w25
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1372 244: e2 5b 40 f9 ldr x2, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1373 248: 00 00 00 94 bl #0 <nonleaf_call+0x150>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1374 24c: ec af 40 b9 ldr w12, [sp, #172]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1375 250: e8 47 40 f9 ldr x8, [sp, #136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1376 254: 0c 01 00 39 strb w12, [x8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1377 258: a0 83 55 b8 ldur w0, [x29, #-168]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1378 25c: a5 43 55 b8 ldur w5, [x29, #-172]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1379 260: a6 03 55 b8 ldur w6, [x29, #-176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1380 264: ad c3 54 b8 ldur w13, [x29, #-180]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1381 268: af 83 54 b8 ldur w15, [x29, #-184]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1382 26c: e9 43 40 f9 ldr x9, [sp, #128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1383 270: e0 77 00 b9 str w0, [sp, #116]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1384 274: e0 03 09 aa mov x0, x9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1385 278: e1 53 40 f9 ldr x1, [sp, #160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1386 27c: e2 63 40 f9 ldr x2, [sp, #192]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1387 280: e5 73 00 b9 str w5, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1388 284: e6 6f 00 b9 str w6, [sp, #108]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1389 288: ed 6b 00 b9 str w13, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1390 28c: ef 67 00 b9 str w15, [sp, #100]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1391 290: 00 00 00 94 bl #0 <nonleaf_call+0x198>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1392 294: e8 93 40 f9 ldr x8, [sp, #288]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1393 298: e9 97 40 f9 ldr x9, [sp, #296]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1394 29c: aa 03 59 f8 ldur x10, [x29, #-112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1395 2a0: ab 83 59 f8 ldur x11, [x29, #-104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1396 2a4: e0 3f 40 f9 ldr x0, [sp, #120]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1397 2a8: e1 4f 40 f9 ldr x1, [sp, #152]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1398 2ac: e2 63 40 f9 ldr x2, [sp, #192]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1399 2b0: e8 2f 00 f9 str x8, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1400 2b4: e9 2b 00 f9 str x9, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1401 2b8: ea 27 00 f9 str x10, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1402 2bc: eb 23 00 f9 str x11, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1403 2c0: 00 00 00 94 bl #0 <nonleaf_call+0x1c8>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1404 2c4: e8 8b 40 f9 ldr x8, [sp, #272]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1405 2c8: e9 8f 40 f9 ldr x9, [sp, #280]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1406 2cc: aa 03 56 f8 ldur x10, [x29, #-160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1407 2d0: ab 83 56 f8 ldur x11, [x29, #-152]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1408 2d4: ee 2f 40 f9 ldr x14, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1409 2d8: f0 2b 40 f9 ldr x16, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1410 2dc: f2 27 40 f9 ldr x18, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1411 2e0: e0 23 40 f9 ldr x0, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1412 2e4: ec 77 40 b9 ldr w12, [sp, #116]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1413 2e8: e0 1f 00 f9 str x0, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1414 2ec: e0 03 0c 2a mov w0, w12
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1415 2f0: e1 03 0e aa mov x1, x14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1416 2f4: e2 03 10 aa mov x2, x16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1417 2f8: e3 03 12 aa mov x3, x18
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1418 2fc: e4 1f 40 f9 ldr x4, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1419 300: e5 73 40 b9 ldr w5, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1420 304: e6 6f 40 b9 ldr w6, [sp, #108]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1421 308: ee 03 00 91 mov x14, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1422 30c: c8 01 00 f9 str x8, [x14]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1423 310: e8 03 00 91 mov x8, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1424 314: 09 05 00 f9 str x9, [x8, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1425 318: e8 03 00 91 mov x8, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1426 31c: 0a 09 00 f9 str x10, [x8, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1427 320: e8 03 00 91 mov x8, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1428 324: 0b 0d 00 f9 str x11, [x8, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1429 328: e8 03 00 91 mov x8, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1430 32c: ed 6b 40 b9 ldr w13, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1431 330: 0d 21 00 b9 str w13, [x8, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1432 334: e8 03 00 91 mov x8, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1433 338: ef 67 40 b9 ldr w15, [sp, #100]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1434 33c: 0f 29 00 b9 str w15, [x8, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1435 340: 30 ff ff 97 bl #-832 <leaf_call>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1436 344: ff 43 08 91 add sp, sp, #528
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1437 348: fd 7b 44 a9 ldp x29, x30, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1438 34c: f4 4f 43 a9 ldp x20, x19, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1439 350: f6 57 42 a9 ldp x22, x21, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1440 354: f8 5f 41 a9 ldp x24, x23, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1441 358: fc 67 c5 a8 ldp x28, x25, [sp], #80
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1442 35c: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1443
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1444 0000000000000360 main:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1445 360: ff c3 04 d1 sub sp, sp, #304
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1446 364: fc 4f 11 a9 stp x28, x19, [sp, #272]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1447 368: fd 7b 12 a9 stp x29, x30, [sp, #288]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1448 36c: fd 83 04 91 add x29, sp, #288
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1449 370: 08 00 80 52 mov w8, #0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1450 374: e9 03 1f 32 orr w9, wzr, #0x2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1451 378: ea 07 00 32 orr w10, wzr, #0x3
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1452 37c: 0b 10 a8 52 mov w11, #1082130432
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1453 380: 60 01 27 1e fmov s0, w11
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1454 384: 8c 02 e8 d2 mov x12, #4617315517961601024
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1455 388: 81 01 67 9e fmov d1, x12
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1456 38c: ec 07 7f b2 orr x12, xzr, #0x6
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1457 390: 2b 01 80 52 mov w11, #9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1458 394: 4d 01 80 52 mov w13, #10
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1459 398: 0e 26 a8 52 mov w14, #1093664768
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1460 39c: c2 01 27 1e fmov s2, w14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1461 3a0: 0f 05 e8 d2 mov x15, #4622945017495814144
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1462 3a4: e3 01 67 9e fmov d3, x15
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1463 3a8: af 01 80 d2 mov x15, #13
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1464 3ac: f0 07 7e b2 orr x16, xzr, #0xc
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1465 3b0: e1 03 00 32 orr w1, wzr, #0x1
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1466 3b4: e6 0b 00 32 orr w6, wzr, #0x7
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1467 3b8: e7 03 1d 32 orr w7, wzr, #0x8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1468 3bc: ee 0b 1f 32 orr w14, wzr, #0xe
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1469 3c0: f1 0f 00 32 orr w17, wzr, #0xf
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1470 3c4: b2 83 00 d1 sub x18, x29, #32
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1471 3c8: a0 c3 00 d1 sub x0, x29, #48
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1472 3cc: a2 f3 00 d1 sub x2, x29, #60
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1473 3d0: a3 43 01 d1 sub x3, x29, #80
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1474 3d4: a4 83 01 d1 sub x4, x29, #96
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1475 3d8: a5 c3 01 d1 sub x5, x29, #112
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1476 3dc: bf c3 1e b8 stur wzr, [x29, #-20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1477 3e0: 49 02 00 b9 str w9, [x18]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1478 3e4: aa 43 1e b8 stur w10, [x29, #-28]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1479 3e8: a0 83 1e bc stur s0, [x29, #-24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1480 3ec: 01 00 00 fd str d1, [x0]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1481 3f0: ac 83 1d f8 stur x12, [x29, #-40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1482 3f4: 4b 00 00 b9 str w11, [x2]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1483 3f8: ad 83 1c b8 stur w13, [x29, #-56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1484 3fc: a2 c3 1c bc stur s2, [x29, #-52]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1485 400: 63 00 00 fd str d3, [x3]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1486 404: af 83 1b f8 stur x15, [x29, #-72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1487 408: e0 03 04 aa mov x0, x4
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1488 40c: a1 c3 18 b8 stur w1, [x29, #-116]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1489 410: e1 03 12 aa mov x1, x18
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1490 414: a2 03 18 f8 stur x2, [x29, #-128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1491 418: e2 03 10 aa mov x2, x16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1492 41c: a8 c3 17 b8 stur w8, [x29, #-132]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1493 420: f0 4b 00 f9 str x16, [sp, #144]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1494 424: e6 8f 00 b9 str w6, [sp, #140]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1495 428: e7 8b 00 b9 str w7, [sp, #136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1496 42c: ee 87 00 b9 str w14, [sp, #132]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1497 430: f1 83 00 b9 str w17, [sp, #128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1498 434: e5 3f 00 f9 str x5, [sp, #120]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1499 438: 00 00 00 94 bl #0 <main+0xd8>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1500 43c: ac 03 5a f8 ldur x12, [x29, #-96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1501 440: af 83 5a f8 ldur x15, [x29, #-88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1502 444: b0 03 5d f8 ldur x16, [x29, #-48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1503 448: b2 83 5d f8 ldur x18, [x29, #-40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1504 44c: e0 3f 40 f9 ldr x0, [sp, #120]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1505 450: a1 03 58 f8 ldur x1, [x29, #-128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1506 454: e2 4b 40 f9 ldr x2, [sp, #144]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1507 458: ec 3b 00 f9 str x12, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1508 45c: ef 37 00 f9 str x15, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1509 460: f0 33 00 f9 str x16, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1510 464: f2 2f 00 f9 str x18, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1511 468: 00 00 00 94 bl #0 <main+0x108>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1512 46c: ac 03 59 f8 ldur x12, [x29, #-112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1513 470: af 83 59 f8 ldur x15, [x29, #-104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1514 474: b0 03 5b f8 ldur x16, [x29, #-80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1515 478: b2 83 5b f8 ldur x18, [x29, #-72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1516 47c: e0 3b 40 f9 ldr x0, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1517 480: e1 37 40 f9 ldr x1, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1518 484: e2 33 40 f9 ldr x2, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1519 488: e3 2f 40 f9 ldr x3, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1520 48c: a8 c3 57 b8 ldur w8, [x29, #-132]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1521 490: e0 2b 00 f9 str x0, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1522 494: e0 03 08 2a mov w0, w8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1523 498: a9 c3 58 b8 ldur w9, [x29, #-116]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1524 49c: e1 27 00 f9 str x1, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1525 4a0: e1 03 09 2a mov w1, w9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1526 4a4: e4 2b 40 f9 ldr x4, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1527 4a8: e2 23 00 f9 str x2, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1528 4ac: e2 03 04 aa mov x2, x4
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1529 4b0: e5 27 40 f9 ldr x5, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1530 4b4: e3 1f 00 f9 str x3, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1531 4b8: e3 03 05 aa mov x3, x5
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1532 4bc: e4 23 40 f9 ldr x4, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1533 4c0: e5 1f 40 f9 ldr x5, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1534 4c4: e6 8f 40 b9 ldr w6, [sp, #140]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1535 4c8: e7 8b 40 b9 ldr w7, [sp, #136]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1536 4cc: f3 03 00 91 mov x19, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1537 4d0: 6c 02 00 f9 str x12, [x19]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1538 4d4: ec 03 00 91 mov x12, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1539 4d8: 8f 05 00 f9 str x15, [x12, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1540 4dc: ec 03 00 91 mov x12, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1541 4e0: 90 09 00 f9 str x16, [x12, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1542 4e4: ec 03 00 91 mov x12, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1543 4e8: 92 0d 00 f9 str x18, [x12, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1544 4ec: ec 03 00 91 mov x12, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1545 4f0: ea 87 40 b9 ldr w10, [sp, #132]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1546 4f4: 8a 21 00 b9 str w10, [x12, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1547 4f8: ec 03 00 91 mov x12, sp
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1548 4fc: eb 83 40 b9 ldr w11, [sp, #128]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1549 500: 8b 29 00 b9 str w11, [x12, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1550 504: fd fe ff 97 bl #-1036 <nonleaf_call>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1551 508: a0 c3 57 b8 ldur w0, [x29, #-132]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1552 50c: fd 7b 52 a9 ldp x29, x30, [sp, #288]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1553 510: fc 4f 51 a9 ldp x28, x19, [sp, #272]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1554 514: ff c3 04 91 add sp, sp, #304
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1555 518: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1556
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1557
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1558
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1559 ; ---------- returning long long ---------->
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1560 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1561 ; long long f()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1562 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1563 ; return 7171LL;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1564 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1565 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1566 ; int main()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1567 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1568 ; return (int)f();
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1569 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1570
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1571
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1572
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1573 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1574
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1575 0000000000000000 f:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1576 0: 60 80 83 d2 mov x0, #7171
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1577 4: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1578
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1579 0000000000000008 main:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1580 8: ff 83 00 d1 sub sp, sp, #32
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1581 c: fd 7b 01 a9 stp x29, x30, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1582 10: fd 43 00 91 add x29, sp, #16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1583 14: bf c3 1f b8 stur wzr, [x29, #-4]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1584 18: fa ff ff 97 bl #-24 <f>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1585 1c: e8 03 00 2a mov w8, w0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1586 20: e0 03 08 2a mov w0, w8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1587 24: fd 7b 41 a9 ldp x29, x30, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1588 28: ff 83 00 91 add sp, sp, #32
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1589 2c: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1590
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1591
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1592
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1593 ; ---------- passing structs with only fp parts ---------->
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1594 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1595 ; struct A { float a; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1596 ; struct B { float a, b; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1597 ; struct C { float a, b, c; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1598 ; struct D { double a; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1599 ; struct E { double a, b; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1600 ; struct F { double a, b, c; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1601 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1602 ; void leaf_call(struct A a, struct B b, struct C c, struct D d, struct E e, struct F f)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1603 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1604 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1605 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1606 ; int main()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1607 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1608 ; leaf_call((struct A){1.f}, (struct B){2.f,3.f}, (struct C){4.f,5.f,6.f}, (struct D){1.}, (struct E){2.,3.}, (struct F){4.,5.,6.});
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1609 ; return 0;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1610 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1611
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1612
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1613
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1614 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1615
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1616 0000000000000000 leaf_call:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1617 0: ff 43 01 d1 sub sp, sp, #80
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1618 4: e7 33 40 fd ldr d7, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1619 8: f0 37 40 fd ldr d16, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1620 c: f1 3b 40 fd ldr d17, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1621 10: f2 2b 40 fd ldr d18, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1622 14: f3 2f 40 fd ldr d19, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1623 18: e0 4b 00 bd str s0, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1624 1c: e2 47 00 bd str s2, [sp, #68]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1625 20: e1 43 00 bd str s1, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1626 24: e5 3b 00 bd str s5, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1627 28: e4 37 00 bd str s4, [sp, #52]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1628 2c: e3 33 00 bd str s3, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1629 30: e6 17 00 fd str d6, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1630 34: f3 13 00 fd str d19, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1631 38: f2 0f 00 fd str d18, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1632 3c: f1 0b 00 fd str d17, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1633 40: f0 07 00 fd str d16, [sp, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1634 44: e7 03 00 fd str d7, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1635 48: ff 43 01 91 add sp, sp, #80
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1636 4c: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1637
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1638 0000000000000050 main:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1639 50: ff 43 02 d1 sub sp, sp, #144 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1640 54: fd 7b 08 a9 stp x29, x30, [sp, #128] ; | prolog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1641 58: fd 03 02 91 add x29, sp, #128 ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1642 5c: e8 03 1f 2a mov w8, wzr ; \ | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1643 60: a8 c3 1f b8 stur w8, [x29, #-4] ; | | | zero 4 bytes in local area @@@ struct padding?
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1644 64: e9 1b 09 32 orr w9, wzr, #0x3f800000 ; | struct A 1.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1645 68: a9 83 1f b8 stur w9, [x29, #-8] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1646 6c: e9 03 02 32 orr w9, wzr, #0x40000000 ; \ 2.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1647 70: a9 03 1f b8 stur w9, [x29, #-16] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1648 74: 09 08 a8 52 mov w9, #1077936128 ; | struct B 3.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1649 78: a9 43 1f b8 stur w9, [x29, #-12] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1650 7c: 09 10 a8 52 mov w9, #1082130432 ; \ 4.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1651 80: a9 03 1e b8 stur w9, [x29, #-32] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1652 84: 09 14 a8 52 mov w9, #1084227584 ; | 5.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1653 88: a9 43 1e b8 stur w9, [x29, #-28] ; | struct C | write local struct data
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1654 8c: 09 18 a8 52 mov w9, #1086324736 ; | 6.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1655 90: a9 83 1e b8 stur w9, [x29, #-24] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1656 94: ea 27 4c b2 orr x10, xzr, #0x3ff0000000000000 ; \ 1.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1657 98: aa 83 1d f8 stur x10, [x29, #-40] ; / struct D |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1658 9c: ea 03 42 b2 orr x10, xzr, #0x4000000000000000 ; \ 2.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1659 a0: aa 83 1c f8 stur x10, [x29, #-56] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1660 a4: 0a 01 e8 d2 mov x10, #4613937818241073152 ; | struct E 3.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1661 a8: aa 03 1d f8 stur x10, [x29, #-48] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1662 ac: 0a 02 e8 d2 mov x10, #4616189618054758400 ; \ 4.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1663 b0: ea 1b 00 f9 str x10, [sp, #48] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1664 b4: 8a 02 e8 d2 mov x10, #4617315517961601024 ; | struct F 5.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1665 b8: ea 1f 00 f9 str x10, [sp, #56] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1666 bc: 0a 03 e8 d2 mov x10, #4618441417868443648 ; | 6.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1667 c0: ea 23 00 f9 str x10, [sp, #64] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1668 c4: a0 83 5f bc ldur s0, [x29, #-8] ; arg 0 (struct A), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1669 c8: a2 43 5f bc ldur s2, [x29, #-12] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1670 cc: a1 03 5f bc ldur s1, [x29, #-16] ; / arg 1 (struct B), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1671 d0: a5 83 5e bc ldur s5, [x29, #-24] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1672 d4: a4 43 5e bc ldur s4, [x29, #-28] ; | arg 2 (struct C), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1673 d8: a3 03 5e bc ldur s3, [x29, #-32] ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1674 dc: a6 83 5d fc ldur d6, [x29, #-40] ; arg 3 (struct D)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1675 e0: a7 83 5c fc ldur d7, [x29, #-56] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1676 e4: b0 03 5d fc ldur d16, [x29, #-48] ; / prep arg 4 (struct E), note d7 is *not* used to pass, but just a scratch reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1677 e8: f1 1b 40 fd ldr d17, [sp, #48] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1678 ec: f2 1f 40 fd ldr d18, [sp, #56] ; | prep arg 5 (struct F)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1679 f0: f3 23 40 fd ldr d19, [sp, #64] ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1680 f4: ea 03 00 91 mov x10, sp ; sp in x10, for below indirections (a bit pointless)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1681 f8: 53 11 00 fd str d19, [x10, #32] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1682 fc: 52 0d 00 fd str d18, [x10, #24] ; | arg 5 (struct F), via stack
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1683 100: 51 09 00 fd str d17, [x10, #16] ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1684 104: 50 05 00 fd str d16, [x10, #8] ; \ arg 4 (struct E), via stack (not split across regs and stack)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1685 108: 47 01 00 fd str d7, [x10] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1686 10c: e8 2f 00 b9 str w8, [sp, #44] ; prep return value, temp store on stack local area
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1687 110: bc ff ff 97 bl #-272 <leaf_call> ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1688 114: e0 2f 40 b9 ldr w0, [sp, #44] ; return value (unsure why not just using immediate @@@)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1689 118: fd 7b 48 a9 ldp x29, x30, [sp, #128] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1690 11c: ff 43 02 91 add sp, sp, #144 ; | epilog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1691 120: c0 03 5f d6 ret ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1692
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1693
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1694
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1695 ; output from godbolt compiler explorer w/ msvc 19.14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1696
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1697 |leaf_call| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1698 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1699 sub sp,sp,#0x30
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1700 str s0,[sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1701 str s1,[sp,#8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1702 str s2,[sp,#0xC]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1703 str s3,[sp,#0x18]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1704 str s4,[sp,#0x1C]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1705 str s5,[sp,#0x20]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1706 str d6,[sp,#0x10]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1707 add sp,sp,#0x30
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1708 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1709
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1710 ENDP ; |leaf_call|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1711
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1712 |main| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1713 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1714 stp fp,lr,[sp,#-0x60]! ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1715 mov fp,sp ; | prolog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1716 sub sp,sp,#0x30 ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1717 fmov s16,#1 ; \ struct A 1.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1718 str s16,[sp,#0x40] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1719 fmov s16,#2 ; \ 2.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1720 str s16,[sp,#0x48] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1721 fmov s16,#3 ; | struct B 3.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1722 str s16,[sp,#0x4C] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1723 fmov s16,#4 ; \ 4.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1724 str s16,[sp,#0x58] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1725 fmov s16,#5 ; | 5.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1726 str s16,[sp,#0x5C] ; | struct C |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1727 fmov s16,#6 ; | 6.f |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1728 str s16,[sp,#0x60] ; / | write local struct data
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1729 fmov d16,#1 ; \ 1.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1730 str d16,[sp,#0x50] ; / struct D |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1731 fmov d16,#2 ; \ 2.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1732 str d16,[sp,#0x68] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1733 fmov d16,#3 ; | struct E 3.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1734 str d16,[sp,#0x70] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1735 fmov d16,#4 ; \ 4.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1736 str d16,[sp,#0x78] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1737 fmov d16,#5 ; | struct F 5.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1738 str d16,[sp,#0x80] ; | |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1739 fmov d16,#6 ; | 6.0 |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1740 str d16,[sp,#0x88] ; / |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1741 mov x10,sp ; write ptr (top of stack)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1742 add x8,sp,#0x68 ; read ptr (beg of struct E)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1743 ldp x9,x8,[x8] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1744 stp x9,x8,[x10] ; / arg 4 (struct E), via stack (not split across regs and stack)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1745 add x11,sp,#0x10 ; write ptr (top of stack + 16)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1746 add x10,sp,#0x78 ; read ptr (beg of struct F)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1747 ldp x9,x8,[x10] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1748 stp x9,x8,[x11] ; | arg 5 (struct F), via stack
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1749 ldr x8,[x10,#0x10] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1750 str x8,[x11,#0x10] ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1751 ldr d6,[sp,#0x50] ; arg 3 (struct D), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1752 ldr s5,[sp,#0x60] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1753 ldr s4,[sp,#0x5C] ; | arg 2 (struct C), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1754 ldr s3,[sp,#0x58] ; /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1755 ldr s2,[sp,#0x4C] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1756 ldr s1,[sp,#0x48] ; / arg 1 (struct B), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1757 ldr s0,[sp,#0x40] ; arg 0 (struct A), via reg
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1758 bl leaf_call ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1759 mov w0,#0 ; return value
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1760 add sp,sp,#0x30 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1761 ldp fp,lr,[sp],#0x60 ; | epilog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1762 ret ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1763
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1764 ENDP ; |main|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1765
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1766
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1767
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1768 ; ---------- returning structs by value ---------->
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1769 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1770 ; struct Small { char x; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1771 ; struct Big { long long i,j,k,l; long m; }; /* bigger than 16b */
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1772 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1773 ; struct Small f0()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1774 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1775 ; struct Small s = { 132 };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1776 ; return s;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1777 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1778 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1779 ; struct Big f1()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1780 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1781 ; struct Big b = { 7171LL, 99LL, -99LL, -3102LL, 32 };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1782 ; return b;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1783 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1784 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1785 ; int main()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1786 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1787 ; struct Small s = f0();
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1788 ; struct Big b = f1();
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1789 ; return b.j + b.k + b.m + s.x;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1790 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1791
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1792
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1793
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1794 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1795
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1796 0000000000000000 f0:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1797 0: ff 83 00 d1 sub sp, sp, #32 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1798 4: fe 0b 00 f9 str x30, [sp, #16] ; | prolog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1799 8: 08 00 00 90 adrp x8, #0 ; compute addr to storage map (probably to #132)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1800 c: 08 01 00 91 add x8, x8, #0 ; addr offset (pointless)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1801 10: e2 03 40 b2 orr x2, xzr, #0x1 ; @@@ unsure, #1 -> x2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1802 14: e9 3f 00 91 add x9, sp, #15 ; addr to #132 -> x9 @@@?
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1803 18: e0 03 09 aa mov x0, x9 ; @@@ unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1804 1c: e1 03 08 aa mov x1, x8 ; @@@ unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1805 20: e9 03 00 f9 str x9, [sp] ; store addr to #132 to top of stack
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1806 24: 00 00 00 94 bl #0 <f0+0x24> ; @@@unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1807 28: e8 03 40 f9 ldr x8, [sp] ; *sp -> x8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1808 2c: 0a 01 40 39 ldrb w10, [x8] ; *x8 -> w10
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1809 30: e9 03 0a 2a mov w9, w10 ; w10 -> w9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1810 34: 20 1d 40 d3 ubfx x0, x9, #0, #8 ; return value ("Unsigned Bit Field Extract", copy 8 bits from x9's LSBits starting at bit 0 to x0, and zero extend; = struct in reg)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1811 38: fe 0b 40 f9 ldr x30, [sp, #16] ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1812 3c: ff 83 00 91 add sp, sp, #32 ; | epilog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1813 40: c0 03 5f d6 ret ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1814
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1815 0000000000000044 f1:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1816 44: ff 03 01 d1 sub sp, sp, #64 ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1817 48: fe 1b 00 f9 str x30, [sp, #48] ; | prolog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1818 4c: 09 00 80 52 mov w9, #0 ; @@@ unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1819 50: 02 05 80 d2 mov x2, #40 ; @@@ unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1820 54: 6a 80 83 d2 mov x10, #7171 ; | i
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1821 58: 6b 0c 80 d2 mov x11, #99 ; | j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1822 5c: 4c 0c 80 92 mov x12, #-99 ; | prep local struct Big's data k
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1823 60: ad 83 81 92 mov x13, #-3102 ; | l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1824 64: ee 03 7b b2 orr x14, xzr, #0x20 ; | m
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1825 68: e0 03 08 aa mov x0, x8 ; retval: ptr to retval -> x0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1826 6c: e1 03 09 2a mov w1, w9 ; @@@ unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1827 70: e8 17 00 f9 str x8, [sp, #40] ; ptr to retval -> local area as temp copy
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1828 74: ea 13 00 f9 str x10, [sp, #32] ; | i
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1829 78: eb 0f 00 f9 str x11, [sp, #24] ; | j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1830 7c: ec 0b 00 f9 str x12, [sp, #16] ; | write struct A to local area k @@@ but in reverse?
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1831 80: ed 07 00 f9 str x13, [sp, #8] ; | l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1832 84: ee 03 00 f9 str x14, [sp] ; | m
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1833 88: 00 00 00 94 bl #0 <f1+0x44> ; @@@ unsure
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1834 8c: e8 13 40 f9 ldr x8, [sp, #32] ; | i -> x8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1835 90: ea 17 40 f9 ldr x10, [sp, #40] ; | ptr to retval -> x10, for below indirections
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1836 94: 48 01 00 f9 str x8, [x10] ; | i
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1837 98: eb 0f 40 f9 ldr x11, [sp, #24] ; | | j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1838 9c: 4b 05 00 f9 str x11, [x10, #8] ; | /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1839 a0: ec 0b 40 f9 ldr x12, [sp, #16] ; | write retval data \ k
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1840 a4: 4c 09 00 f9 str x12, [x10, #16] ; | /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1841 a8: ed 07 40 f9 ldr x13, [sp, #8] ; | \ l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1842 ac: 4d 0d 00 f9 str x13, [x10, #24] ; | /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1843 b0: ee 03 40 f9 ldr x14, [sp] ; | \ m
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1844 b4: 4e 11 00 f9 str x14, [x10, #32] ; / /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1845 b8: fe 1b 40 f9 ldr x30, [sp, #48] ; \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1846 bc: ff 03 01 91 add sp, sp, #64 ; | epilog
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1847 c0: c0 03 5f d6 ret ; |
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1848
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1849 00000000000000c4 main:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1850 c4: ff 43 01 d1 sub sp, sp, #80 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1851 c8: fd 7b 04 a9 stp x29, x30, [sp, #64] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1852 cc: fd 03 01 91 add x29, sp, #64 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1853 d0: a8 17 00 d1 sub x8, x29, #5 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1854 d4: e9 43 00 91 add x9, sp, #16 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1855 d8: bf c3 1f b8 stur wzr, [x29, #-4] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1856 dc: e8 07 00 f9 str x8, [sp, #8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1857 e0: e9 03 00 f9 str x9, [sp] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1858 e4: c7 ff ff 97 bl #-228 <f0> ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1859 e8: ea 03 00 2a mov w10, w0 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1860 ec: e8 07 40 f9 ldr x8, [sp, #8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1861 f0: 0a 01 00 39 strb w10, [x8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1862 f4: e8 03 40 f9 ldr x8, [sp] ; ptr to retval struct, as sizeof(struct Big) > 16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1863 f8: d3 ff ff 97 bl #-180 <f1> ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1864 fc: e8 0f 40 f9 ldr x8, [sp, #24] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1865 100: e9 13 40 f9 ldr x9, [sp, #32] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1866 104: 08 01 09 8b add x8, x8, x9 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1867 108: e9 1b 40 f9 ldr x9, [sp, #48] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1868 10c: 08 01 09 8b add x8, x8, x9 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1869 110: e9 07 40 f9 ldr x9, [sp, #8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1870 114: 2a 01 40 39 ldrb w10, [x9] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1871 118: e0 03 0a 2a mov w0, w10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1872 11c: 00 1c 40 d3 ubfx x0, x0, #0, #8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1873 120: 08 01 00 8b add x8, x8, x0 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1874 124: ea 03 08 2a mov w10, w8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1875 128: e0 03 0a 2a mov w0, w10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1876 12c: fd 7b 44 a9 ldp x29, x30, [sp, #64] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1877 130: ff 43 01 91 add sp, sp, #80 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1878 134: c0 03 5f d6 ret ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1879
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1880
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1881
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1882 ; output from godbolt compiler explorer w/ msvc 19.14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1883
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1884 |f0| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1885 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1886 sub sp,sp,#0x10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1887 mov w8,#-0x7C ; (signed) #132
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1888 strb w8,[sp] ; stored in local area
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1889 ldrb w0,[sp] ; return value (entire struct in reg)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1890 add sp,sp,#0x10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1891 ret ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1892
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1893 ENDP ; |f0|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1894
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1895 |f1| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1896 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1897 stp fp,lr,[sp,#-0x10]! ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1898 mov fp,sp ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1899 bl __security_push_cookie ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1900 sub sp,sp,#0x30 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1901 str x8,[sp] ; ptr to retval -> local area as temp copy
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1902 mov x9,#0x1C03 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1903 str x9,[sp,#8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1904 mov x8,#0x63 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1905 str x8,[sp,#0x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1906 mov x8,#-0x63 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1907 str x8,[sp,#0x18] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1908 mov x8,#-0xC1E ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1909 str x8,[sp,#0x20] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1910 mov w8,#0x20 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1911 str w8,[sp,#0x28] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1912 ldr x11,[sp] ; ptr to retval -> x11, for below indirections
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1913 add x10,sp,#8 ; read ptr
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1914 ldp x9,x8,[x10] ; | | i, j
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1915 stp x9,x8,[x11] ; | /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1916 ldp x9,x8,[x10,#0x10] ; | cp struct data to retval \ k, l
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1917 stp x9,x8,[x11,#0x10] ; | /
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1918 ldr x8,[x10,#0x20] ; | \
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1919 str x8,[x11,#0x20] ; | | m
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1920 add sp,sp,#0x30 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1921 bl __security_pop_cookie ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1922 ldp fp,lr,[sp],#0x10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1923 ret ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1924
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1925 ENDP ; |f1|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1926
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1927 |main| PROC
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1928 |$LN3|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1929 stp fp,lr,[sp,#-0x10]! ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1930 mov fp,sp ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1931 bl __security_push_cookie ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1932 sub sp,sp,#0x80 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1933 bl f0 ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1934 strb w0,[sp] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1935 add x9,sp,#1 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1936 mov x8,sp ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1937 ldrsb w8,[x8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1938 strb w8,[x9] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1939 add x8,sp,#0x10 ; ptr to retval struct, as sizeof(struct Big) > 16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1940 bl f1 ; return address -> r30/lr, and call
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1941 add x8,sp,#0x10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1942 str x8,[sp,#8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1943 add x11,sp,#0x38 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1944 ldr x10,[sp,#8] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1945 ldp x9,x8,[x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1946 stp x9,x8,[x11] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1947 ldp x9,x8,[x10,#0x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1948 stp x9,x8,[x11,#0x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1949 ldr x8,[x10,#0x20] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1950 str x8,[x11,#0x20] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1951 add x11,sp,#0x60 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1952 add x10,sp,#0x38 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1953 ldp x9,x8,[x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1954 stp x9,x8,[x11] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1955 ldp x9,x8,[x10,#0x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1956 stp x9,x8,[x11,#0x10] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1957 ldr x8,[x10,#0x20] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1958 str x8,[x11,#0x20] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1959 ldr x9,[sp,#0x68] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1960 ldr x8,[sp,#0x70] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1961 add x9,x9,x8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1962 ldr w8,[sp,#0x80] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1963 sxtw x8,w8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1964 add x9,x9,x8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1965 ldrsb w8,[sp,#1] ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1966 mov w8,w8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1967 sxtw x8,w8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1968 add x8,x9,x8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1969 mov w0,w8 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1970 mov w0,w0 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1971 add sp,sp,#0x80 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1972 bl __security_pop_cookie ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1973 ldp fp,lr,[sp],#0x10 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1974 ret ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1975
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1976 ENDP ; |main|
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1977
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1978
481
0fc22b5feac7 - arm related doc addition about aggregates
Tassilo Philipp
parents: 480
diff changeset
1979
480
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1980 ; ---------- single-field structs by values (and small array fields) ---------->
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1981 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1982 ; struct C { char c; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1983 ; struct S { short s; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1984 ; struct I { int i; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1985 ; struct F { float f; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1986 ; struct D { double d; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1987 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1988 ; struct C2 { char c[2]; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1989 ; struct C3 { char c[3]; };
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1990 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1991 ; void leaf_call(struct C2 a, struct C b, struct S c, struct I d, struct F e, struct D f, struct C3 g)
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1992 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1993 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1994 ;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1995 ; int main()
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1996 ; {
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1997 ; leaf_call((struct C2){{0,1}}, (struct C){2}, (struct S){3}, (struct I){4}, (struct F){5.f}, (struct D){6.}, (struct C3){{7,8,9}});
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1998 ; return 0;
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
1999 ; }
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2000
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2001
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2002
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2003 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2004
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2005 0000000000000000 leaf_call:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2006 0: ff 03 03 d1 sub sp, sp, #192
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2007 4: fe 5b 00 f9 str x30, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2008 8: e8 03 7f b2 orr x8, xzr, #0x2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2009 c: e9 07 40 b2 orr x9, xzr, #0x3
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2010 10: ea bb 02 91 add x10, sp, #174
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2011 14: eb 83 02 91 add x11, sp, #160
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2012 18: ec 7f 02 91 add x12, sp, #159
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2013 1c: ed 73 02 91 add x13, sp, #156
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2014 20: ee 63 02 91 add x14, sp, #152
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2015 24: ef 53 02 91 add x15, sp, #148
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2016 28: f0 23 02 91 add x16, sp, #136
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2017 2c: f1 17 02 91 add x17, sp, #133
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2018 30: f2 e3 01 91 add x18, sp, #120
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2019 34: e0 53 00 f9 str x0, [sp, #160]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2020 38: e0 03 0a aa mov x0, x10
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2021 3c: e1 3b 00 f9 str x1, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2022 40: e1 03 0b aa mov x1, x11
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2023 44: e2 37 00 f9 str x2, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2024 48: e2 03 08 aa mov x2, x8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2025 4c: e3 33 00 f9 str x3, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2026 50: e0 5f 00 bd str s0, [sp, #92]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2027 54: e1 2b 00 fd str d1, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2028 58: e4 27 00 f9 str x4, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2029 5c: e9 23 00 f9 str x9, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2030 60: ec 1f 00 f9 str x12, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2031 64: ed 1b 00 f9 str x13, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2032 68: ee 17 00 f9 str x14, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2033 6c: ef 13 00 f9 str x15, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2034 70: f0 0f 00 f9 str x16, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2035 74: f1 0b 00 f9 str x17, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2036 78: f2 07 00 f9 str x18, [sp, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2037 7c: 00 00 00 94 bl #0 <leaf_call+0x7c>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2038 80: e8 3b 40 f9 ldr x8, [sp, #112]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2039 84: e5 03 08 2a mov w5, w8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2040 88: e9 1f 40 f9 ldr x9, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2041 8c: 25 01 00 39 strb w5, [x9]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2042 90: ea 37 40 f9 ldr x10, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2043 94: e5 03 0a 2a mov w5, w10
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2044 98: eb 1b 40 f9 ldr x11, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2045 9c: 65 01 00 79 strh w5, [x11]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2046 a0: ec 33 40 f9 ldr x12, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2047 a4: e5 03 0c 2a mov w5, w12
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2048 a8: ed 17 40 f9 ldr x13, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2049 ac: a5 01 00 b9 str w5, [x13]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2050 b0: e0 5f 40 bd ldr s0, [sp, #92]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2051 b4: ee 13 40 f9 ldr x14, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2052 b8: c0 01 00 bd str s0, [x14]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2053 bc: e1 2b 40 fd ldr d1, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2054 c0: ef 0f 40 f9 ldr x15, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2055 c4: e1 01 00 fd str d1, [x15]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2056 c8: f0 0b 40 f9 ldr x16, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2057 cc: f1 27 40 f9 ldr x17, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2058 d0: f1 3f 00 f9 str x17, [sp, #120]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2059 d4: e0 03 10 aa mov x0, x16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2060 d8: e1 07 40 f9 ldr x1, [sp, #8]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2061 dc: e2 23 40 f9 ldr x2, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2062 e0: 00 00 00 94 bl #0 <leaf_call+0xe0>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2063 e4: fe 5b 40 f9 ldr x30, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2064 e8: ff 03 03 91 add sp, sp, #192
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2065 ec: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2066
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2067 00000000000000f0 main:
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2068 f0: ff 83 03 d1 sub sp, sp, #224
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2069 f4: f5 5b 00 f9 str x21, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2070 f8: f4 4f 0c a9 stp x20, x19, [sp, #192]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2071 fc: fd 7b 0d a9 stp x29, x30, [sp, #208]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2072 100: fd 43 03 91 add x29, sp, #208
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2073 104: 00 00 80 52 mov w0, #0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2074 108: 08 00 80 52 mov w8, #0
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2075 10c: e9 03 40 b2 orr x9, xzr, #0x1
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2076 110: ea 03 00 32 orr w10, wzr, #0x1
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2077 114: eb 03 1f 32 orr w11, wzr, #0x2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2078 118: ec 07 00 32 orr w12, wzr, #0x3
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2079 11c: ed 03 1e 32 orr w13, wzr, #0x4
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2080 120: 0e 14 a8 52 mov w14, #1084227584
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2081 124: c0 01 27 1e fmov s0, w14
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2082 128: 0f 03 e8 d2 mov x15, #4618441417868443648
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2083 12c: e1 01 67 9e fmov d1, x15
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2084 130: ee 0b 00 32 orr w14, wzr, #0x7
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2085 134: f0 03 1d 32 orr w16, wzr, #0x8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2086 138: 31 01 80 52 mov w17, #9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2087 13c: e2 03 7f b2 orr x2, xzr, #0x2
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2088 140: ef 07 40 b2 orr x15, xzr, #0x3
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2089 144: b2 9b 00 d1 sub x18, x29, #38
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2090 148: a1 9f 00 d1 sub x1, x29, #39
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2091 14c: a3 ab 00 d1 sub x3, x29, #42
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2092 150: a4 c3 00 d1 sub x4, x29, #48
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2093 154: a5 d3 00 d1 sub x5, x29, #52
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2094 158: a6 03 01 d1 sub x6, x29, #64
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2095 15c: a7 0f 01 d1 sub x7, x29, #67
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2096 160: b3 43 01 d1 sub x19, x29, #80
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2097 164: b4 63 01 d1 sub x20, x29, #88
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2098 168: bf c3 1d b8 stur wzr, [x29, #-36]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2099 16c: f5 03 12 aa mov x21, x18
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2100 170: a8 02 00 39 strb w8, [x21]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2101 174: aa 06 00 39 strb w10, [x21, #1]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2102 178: 2b 00 00 39 strb w11, [x1]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2103 17c: 6c 00 00 79 strh w12, [x3]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2104 180: 8d 00 00 b9 str w13, [x4]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2105 184: a0 00 00 bd str s0, [x5]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2106 188: c1 00 00 fd str d1, [x6]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2107 18c: f5 03 07 aa mov x21, x7
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2108 190: ae 02 00 39 strb w14, [x21]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2109 194: a9 02 09 8b add x9, x21, x9
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2110 198: b0 06 00 39 strb w16, [x21, #1]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2111 19c: 31 05 00 39 strb w17, [x9, #1]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2112 1a0: a0 43 1a b8 stur w0, [x29, #-92]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2113 1a4: e0 03 13 aa mov x0, x19
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2114 1a8: e1 37 00 f9 str x1, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2115 1ac: e1 03 12 aa mov x1, x18
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2116 1b0: ef 33 00 f9 str x15, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2117 1b4: e3 2f 00 f9 str x3, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2118 1b8: e4 2b 00 f9 str x4, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2119 1bc: e5 27 00 f9 str x5, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2120 1c0: e6 23 00 f9 str x6, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2121 1c4: e7 1f 00 f9 str x7, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2122 1c8: f4 1b 00 f9 str x20, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2123 1cc: 00 00 00 94 bl #0 <main+0xdc>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2124 1d0: a0 03 5b f8 ldur x0, [x29, #-80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2125 1d4: e9 37 40 f9 ldr x9, [sp, #104]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2126 1d8: 28 01 40 39 ldrb w8, [x9]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2127 1dc: ef 03 08 2a mov w15, w8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2128 1e0: e1 1d 40 d3 ubfx x1, x15, #0, #8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2129 1e4: ef 2f 40 f9 ldr x15, [sp, #88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2130 1e8: e8 01 40 79 ldrh w8, [x15]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2131 1ec: f2 03 08 2a mov w18, w8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2132 1f0: 42 3e 40 d3 ubfx x2, x18, #0, #16
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2133 1f4: f2 2b 40 f9 ldr x18, [sp, #80]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2134 1f8: 48 02 40 b9 ldr w8, [x18]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2135 1fc: e3 03 08 2a mov w3, w8
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2136 200: 63 7c 40 d3 ubfx x3, x3, #0, #32
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2137 204: e4 27 40 f9 ldr x4, [sp, #72]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2138 208: 80 00 40 bd ldr s0, [x4]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2139 20c: e5 23 40 f9 ldr x5, [sp, #64]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2140 210: a1 00 40 fd ldr d1, [x5]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2141 214: e6 1f 40 f9 ldr x6, [sp, #56]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2142 218: e7 1b 40 f9 ldr x7, [sp, #48]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2143 21c: e0 17 00 f9 str x0, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2144 220: e0 03 07 aa mov x0, x7
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2145 224: e1 13 00 f9 str x1, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2146 228: e1 03 06 aa mov x1, x6
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2147 22c: e6 33 40 f9 ldr x6, [sp, #96]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2148 230: e2 0f 00 f9 str x2, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2149 234: e2 03 06 aa mov x2, x6
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2150 238: e3 0b 00 f9 str x3, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2151 23c: e0 0f 00 bd str s0, [sp, #12]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2152 240: e1 03 00 fd str d1, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2153 244: 00 00 00 94 bl #0 <main+0x154>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2154 248: a4 83 5a f8 ldur x4, [x29, #-88]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2155 24c: e0 17 40 f9 ldr x0, [sp, #40]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2156 250: e1 13 40 f9 ldr x1, [sp, #32]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2157 254: e2 0f 40 f9 ldr x2, [sp, #24]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2158 258: e3 0b 40 f9 ldr x3, [sp, #16]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2159 25c: e0 0f 40 bd ldr s0, [sp, #12]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2160 260: e1 03 40 fd ldr d1, [sp]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2161 264: 67 ff ff 97 bl #-612 <leaf_call>
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2162 268: a0 43 5a b8 ldur w0, [x29, #-92]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2163 26c: fd 7b 4d a9 ldp x29, x30, [sp, #208]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2164 270: f4 4f 4c a9 ldp x20, x19, [sp, #192]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2165 274: f5 5b 40 f9 ldr x21, [sp, #176]
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2166 278: ff 83 03 91 add sp, sp, #224
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2167 27c: c0 03 5f d6 ret
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2168
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2169
cc78e34958e5 - arm64 doc additions w/ respect to aggregates, as well as fbsd and win disas examples
Tassilo Philipp
parents: 327
diff changeset
2170
497
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2171 ; ---------- C++ trivial and non-trivial aggrs passed to C funcs ---------->
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2172 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2173 ; struct Trivial { int a; };
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2174 ; struct NonTrivial { int a; NonTrivial() : a(0) {} NonTrivial(const NonTrivial& rhs) : a(rhs.a) { } };
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2175 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2176 ; extern "C" {
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2177 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2178 ; void f1(struct Trivial s) { }
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2179 ; void f2(struct NonTrivial s) { }
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2180 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2181 ; void f()
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2182 ; {
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2183 ; struct Trivial t;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2184 ; struct NonTrivial n;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2185 ; int a=1;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2186 ; a += 123;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2187 ; f1(t);
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2188 ; a -= 123;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2189 ; f2(n);
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2190 ; a -= 12;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2191 ; }
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2192 ; }
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2193
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2194
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2195
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2196 ; output from freebsd-13.0_r348764-arm64 w/ clang 8.0.0
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2197
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2198 0000000000210250 f1:
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2199 210250: ff 43 00 d1 sub sp, sp, #16
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2200 210254: e8 33 00 91 add x8, sp, #12
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2201 210258: e9 03 00 2a mov w9, w0
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2202 21025c: 09 01 00 b9 str w9, [x8]
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2203 210260: ff 43 00 91 add sp, sp, #16
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2204 210264: c0 03 5f d6 ret
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2205
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2206 0000000000210268 f2:
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2207 210268: c0 03 5f d6 ret
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2208
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2209 000000000021026c f:
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2210 21026c: ff 43 01 d1 sub sp, sp, #80 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2211 210270: fd 7b 04 a9 stp x29, x30, [sp, #64] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2212 210274: fd 03 01 91 add x29, sp, #64 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2213 210278: e8 03 00 32 orr w8, wzr, #0x1 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2214 21027c: e2 03 7e b2 orr x2, xzr, #0x4 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2215 210280: a1 13 00 d1 sub x1, x29, #4 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2216 210284: a9 23 00 d1 sub x9, x29, #8 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2217 210288: aa 43 00 d1 sub x10, x29, #16 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2218 21028c: ab 53 00 d1 sub x11, x29, #20 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2219 210290: e0 03 09 aa mov x0, x9 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2220 210294: a8 83 1e b8 stur w8, [x29, #-24] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2221 210298: e2 13 00 f9 str x2, [sp, #32] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2222 21029c: e1 0f 00 f9 str x1, [sp, #24] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2223 2102a0: e9 0b 00 f9 str x9, [sp, #16] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2224 2102a4: ea 07 00 f9 str x10, [sp, #8] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2225 2102a8: eb 03 00 f9 str x11, [sp] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2226 2102ac: 1f 00 00 94 bl #124 <_ZN10NonTrivialC2Ev> ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2227 2102b0: a8 83 5e b8 ldur w8, [x29, #-24] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2228 2102b4: a8 43 1f b8 stur w8, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2229 2102b8: ac 43 5f b8 ldur w12, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2230 2102bc: 8c ed 01 11 add w12, w12, #123 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2231 2102c0: ac 43 1f b8 stur w12, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2232 2102c4: e0 07 40 f9 ldr x0, [sp, #8] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2233 2102c8: e1 0f 40 f9 ldr x1, [sp, #24] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2234 2102cc: e2 13 40 f9 ldr x2, [sp, #32] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2235 2102d0: 50 00 00 94 bl #320 <memcpy@plt> ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2236 2102d4: e9 07 40 f9 ldr x9, [sp, #8] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2237 2102d8: 28 01 40 b9 ldr w8, [x9] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2238 2102dc: ea 03 08 2a mov w10, w8 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2239 2102e0: 40 7d 40 d3 ubfx x0, x10, #0, #32 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2240 2102e4: db ff ff 97 bl #-148 <f1> ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2241 2102e8: a8 43 5f b8 ldur w8, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2242 2102ec: 08 ed 01 71 subs w8, w8, #123 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2243 2102f0: a8 43 1f b8 stur w8, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2244 2102f4: e0 03 40 f9 ldr x0, [sp] ; | ptr to dest of copy of n
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2245 2102f8: e1 0b 40 f9 ldr x1, [sp, #16] ; | copy n ptr to n
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2246 2102fc: 11 00 00 94 bl #68 <_ZN10NonTrivialC2ERKS_> ; | NonTrivial::NonTrivial(const NonTrivial&) / copy ctor
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2247 210300: e0 03 40 f9 ldr x0, [sp] ; f2 arg 0 (ptr to copy of struct NonTrivial), via ptr as non-trivial
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2248 210304: d9 ff ff 97 bl #-156 <f2> ; call f2(struct NonTrivial)
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2249 210308: a8 43 5f b8 ldur w8, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2250 21030c: 08 31 00 71 subs w8, w8, #12 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2251 210310: a8 43 1f b8 stur w8, [x29, #-12] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2252 210314: fd 7b 44 a9 ldp x29, x30, [sp, #64] ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2253 210318: ff 43 01 91 add sp, sp, #80 ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2254 21031c: c0 03 5f d6 ret ;
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2255
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2256 ; ... snip, removed code of ctor and copy ctor ...
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2257
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2258
cb19b2fe2422 - more disas examples to check behaviour of passing C++ non-trivial aggregates by value; they all behave the same, calling the copy ctor first, passing a pointer then
Tassilo Philipp
parents: 481
diff changeset
2259
327
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
2260 ; vim: ft=asm68k
c0390dc85a07 - doc: added disassembly examples for many platforms and calling conventions, for reference
Tassilo Philipp
parents:
diff changeset
2261