Mercurial > pub > dyncall > dyncall
comparison doc/disas_examples/x86.fastcall_ms.disas @ 470:79e76734bb5c
"
author | Tassilo Philipp |
---|---|
date | Mon, 07 Feb 2022 22:41:32 +0100 |
parents | 984e6652b975 |
children | 585dcb68f55d |
comparison
equal
deleted
inserted
replaced
469:984e6652b975 | 470:79e76734bb5c |
---|---|
86 ret 0 ; | epilog | 86 ret 0 ; | epilog |
87 _main ENDP | 87 _main ENDP |
88 | 88 |
89 | 89 |
90 | 90 |
91 ; ---------- structs by value, struct in first call on reg arg boundary ----------> | 91 ; ---------- structs by value (arg and return value), struct arg not fitting in regs ----------> |
92 ; | 92 ; |
93 ; struct A { int x; short y; char z; long long t; }; | 93 ; struct A { int x; short y; char z; long long t; }; |
94 ; | 94 ; |
95 ; struct A leaf_call(struct A a, short b, long long c, char d, int e, int f, int g, long long h) | 95 ; struct A leaf_call(struct A a, short b, long long c, char d, int e, int f, int g, long long h) |
96 ; { | 96 ; { |
152 mov eax, 99 ; | | | 152 mov eax, 99 ; | | |
153 mov WORD PTR _a$[ebp+4], ax ; | struct values (local area) | short y | 153 mov WORD PTR _a$[ebp+4], ax ; | struct values (local area) | short y |
154 mov BYTE PTR _a$[ebp+6], 23 ; | char z | 154 mov BYTE PTR _a$[ebp+6], 23 ; | char z |
155 mov DWORD PTR _a$[ebp+8], 12 ; | | | 155 mov DWORD PTR _a$[ebp+8], 12 ; | | |
156 mov DWORD PTR _a$[ebp+12], 0 ; / | long long t | 156 mov DWORD PTR _a$[ebp+12], 0 ; / | long long t |
157 push 0 ; | | 157 push 0 ; \ |
158 push 7 ; | arg 7 | 158 push 7 ; | arg 7 |
159 push 6 ; arg 6 | 159 push 6 ; arg 6 |
160 push 5 ; arg 5 | 160 push 5 ; arg 5 |
161 push 4 ; arg 4 | 161 push 4 ; arg 4 |
162 push 0 ; | | 162 push 0 ; | |