Mercurial > pub > dyncall > dyncall
comparison doc/disas_examples/x86.cdecl.disas @ 530:585dcb68f55d
- more doc and disas examples for x86 fastcall and non-trivial aggregates
author | Tassilo Philipp |
---|---|
date | Sat, 16 Apr 2022 12:10:02 +0200 |
parents | fc614cb865c6 |
children | b74d7a249642 |
comparison
equal
deleted
inserted
replaced
529:fe694c7677b4 | 530:585dcb68f55d |
---|---|
773 1c000955: 83 ec 28 sub $0x28,%esp ; | 773 1c000955: 83 ec 28 sub $0x28,%esp ; |
774 1c000958: c7 45 f4 01 00 00 00 movl $0x1,0xfffffff4(%ebp) ; a = 1 | 774 1c000958: c7 45 f4 01 00 00 00 movl $0x1,0xfffffff4(%ebp) ; a = 1 |
775 1c00095f: 8d 45 f4 lea 0xfffffff4(%ebp),%eax ; | | 775 1c00095f: 8d 45 f4 lea 0xfffffff4(%ebp),%eax ; | |
776 1c000962: 83 00 7b addl $0x7b,(%eax) ; | a += 12 | 776 1c000962: 83 00 7b addl $0x7b,(%eax) ; | a += 12 |
777 1c000965: e8 b6 ff ff ff call 1c000920 <f1> ; call f1() | 777 1c000965: e8 b6 ff ff ff call 1c000920 <f1> ; call f1() |
778 1c00096a: 89 45 f0 mov %eax,0xfffffff0(%ebp) ; | 778 1c00096a: 89 45 f0 mov %eax,0xfffffff0(%ebp) ; retval (trivial struct <= 32bits, returned via eax) |
779 1c00096d: 8d 45 f4 lea 0xfffffff4(%ebp),%eax ; | | 779 1c00096d: 8d 45 f4 lea 0xfffffff4(%ebp),%eax ; | |
780 1c000970: 83 28 7b subl $0x7b,(%eax) ; | a -= 123 | 780 1c000970: 83 28 7b subl $0x7b,(%eax) ; | a -= 123 |
781 1c000973: 8d 45 d8 lea 0xffffffd8(%ebp),%eax ; space (at top of stack) to hold non-triv retval -> eax | 781 1c000973: 8d 45 d8 lea 0xffffffd8(%ebp),%eax ; space (at top of stack) to hold non-triv retval -> eax |
782 1c000976: 83 ec 0c sub $0xc,%esp ; grow stack by 12 | 782 1c000976: 83 ec 0c sub $0xc,%esp ; grow stack by 12 |
783 1c000979: 50 push %eax ; hidden first arg: ptr to space for retval | 783 1c000979: 50 push %eax ; hidden first arg: ptr to space for retval |