Skip to content

Instantly share code, notes, and snippets.

@janisozaur
Created October 3, 2015 22:12
Show Gist options
  • Save janisozaur/5d6ef3b0cc434269ae2b to your computer and use it in GitHub Desktop.
Save janisozaur/5d6ef3b0cc434269ae2b to your computer and use it in GitHub Desktop.
# Created by compiling `viewport.c` with `-ffunction-sections` and then `objdump --section=.text.RCT2_CALLPROC_X -S viewport.c.o`
CMakeFiles/openrct2.dir/src/interface/viewport.c.o: file format elf32-i386
Disassembly of section .text.RCT2_CALLPROC_X:
00000000 <RCT2_CALLPROC_X>:
*A = Adjust flag
*P = Parity flag
*All other bits are undefined.
*/
static int RCT2_CALLPROC_X(int address, int _eax, int _ebx, int _ecx, int _edx, int _esi, int _edi, int _ebp)
{
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 57 push %edi
4: 56 push %esi
5: 53 push %ebx
6: 55 push %ebp
7: ff 75 08 pushl 0x8(%ebp)
lahf
pop ebp
pop ebp
}
#else
__asm__ ( "\
a: 8b 45 0c mov 0xc(%ebp),%eax
d: 8b 5d 10 mov 0x10(%ebp),%ebx
10: 8b 4d 14 mov 0x14(%ebp),%ecx
13: 8b 55 18 mov 0x18(%ebp),%edx
16: 8b 75 1c mov 0x1c(%ebp),%esi
19: 8b 7d 20 mov 0x20(%ebp),%edi
1c: 8b 6d 24 mov 0x24(%ebp),%ebp
1f: ff 14 24 call *(%esp)
22: 9f lahf
23: 83 c4 04 add $0x4,%esp
26: 5d pop %ebp
27: 5b pop %ebx
28: 90 nop
29: 5e pop %esi
2a: 5f pop %edi
2b: 5d pop %ebp
" : [address] "+m" (address), [_eax] "+m" (_eax), [_ebx] "+m" (_ebx), [_ecx] "+m" (_ecx), [_edx] "+m" (_edx), [_esi] "+m" (_esi), [_edi] "+m" (_edi), [_ebp] "+m" (_ebp)
:
: "eax","ecx","edx","esi","edi"
);
#endif
}
2c: c3 ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment