Created
October 22, 2015 22:14
-
-
Save janisozaur/5129cb3cdc263b07c9ad to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CMakeFiles/openrct2.dir/src/audio/audio.c.o: file format elf32-i386 | |
Disassembly of section .text.RCT2_CALLFUNC_X: | |
00000000 <RCT2_CALLFUNC_X>: | |
*A = Adjust flag | |
*P = Parity flag | |
*All other bits are undefined. | |
*/ | |
static int RCT2_CALLFUNC_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: 83 ec 10 sub $0x10,%esp | |
8: 55 push %ebp | |
9: 53 push %ebx | |
a: ff 75 08 pushl 0x8(%ebp) | |
d: 8b 45 0c mov 0xc(%ebp),%eax | |
10: 8b 00 mov (%eax),%eax | |
*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) | |
{ | |
12: 8b 5d 10 mov 0x10(%ebp),%ebx | |
15: 8b 1b mov (%ebx),%ebx | |
17: 8b 4d 14 mov 0x14(%ebp),%ecx | |
pop ebp | |
/* Load result with flags */ | |
mov result, eax | |
} | |
#else | |
__asm__ ( "\ | |
1a: 8b 09 mov (%ecx),%ecx | |
1c: 8b 55 18 mov 0x18(%ebp),%edx | |
1f: 8b 12 mov (%edx),%edx | |
21: 8b 75 1c mov 0x1c(%ebp),%esi | |
24: 8b 36 mov (%esi),%esi | |
26: 8b 7d 20 mov 0x20(%ebp),%edi | |
29: 8b 3f mov (%edi),%edi | |
2b: 8b 6d 24 mov 0x24(%ebp),%ebp | |
2e: 8b 6d 00 mov 0x0(%ebp),%ebp | |
31: ff 14 24 call *(%esp) | |
34: 50 push %eax | |
35: 55 push %ebp | |
36: 53 push %ebx | |
37: 8b 6c 24 14 mov 0x14(%esp),%ebp | |
3b: 8b 5c 24 10 mov 0x10(%esp),%ebx | |
: | |
: "eax","ecx","edx","esi","edi" | |
); | |
#endif | |
// lahf only modifies ah, zero out the rest | |
return result & 0xFF00; | |
3f: 8b 45 20 mov 0x20(%ebp),%eax | |
42: 89 38 mov %edi,(%eax) | |
44: 8b 45 1c mov 0x1c(%ebp),%eax | |
} | |
47: 89 30 mov %esi,(%eax) | |
49: 8b 45 18 mov 0x18(%ebp),%eax | |
4c: 89 10 mov %edx,(%eax) | |
static int RCT2_CALLPROC_EBPSAFE(int address) | |
{ | |
4e: 8b 45 14 mov 0x14(%ebp),%eax | |
return RCT2_CALLPROC_X(address, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB); | |
51: 89 08 mov %ecx,(%eax) | |
53: 59 pop %ecx | |
54: 8b 45 10 mov 0x10(%ebp),%eax | |
57: 89 08 mov %ecx,(%eax) | |
59: 59 pop %ecx | |
5a: 8b 45 24 mov 0x24(%ebp),%eax | |
5d: 89 08 mov %ecx,(%eax) | |
5f: 58 pop %eax | |
60: 8b 4d 0c mov 0xc(%ebp),%ecx | |
63: 89 01 mov %eax,(%ecx) | |
65: 9f lahf | |
66: 5d pop %ebp | |
67: 5b pop %ebx | |
68: 5d pop %ebp | |
69: 89 45 f4 mov %eax,-0xc(%ebp) | |
6c: 8b 45 f4 mov -0xc(%ebp),%eax | |
6f: 25 00 ff 00 00 and $0xff00,%eax | |
74: 83 c4 10 add $0x10,%esp | |
77: 5e pop %esi | |
78: 5f pop %edi | |
79: 5d pop %ebp | |
7a: c3 ret |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CMakeFiles/openrct2.dir/src/audio/audio.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: 83 ec 10 sub $0x10,%esp | |
8: 53 push %ebx | |
9: 55 push %ebp | |
a: ff 75 08 pushl 0x8(%ebp) | |
d: 8b 45 0c mov 0xc(%ebp),%eax | |
10: 8b 5d 10 mov 0x10(%ebp),%ebx | |
13: 8b 4d 14 mov 0x14(%ebp),%ecx | |
16: 8b 55 18 mov 0x18(%ebp),%edx | |
pop ebp | |
/* Load result with flags */ | |
mov result, eax | |
} | |
#else | |
__asm__ ( "\ | |
19: 8b 75 1c mov 0x1c(%ebp),%esi | |
1c: 8b 7d 20 mov 0x20(%ebp),%edi | |
1f: 8b 6d 24 mov 0x24(%ebp),%ebp | |
22: ff 14 24 call *(%esp) | |
25: 9f lahf | |
26: 83 c4 04 add $0x4,%esp | |
29: 5d pop %ebp | |
2a: 5b pop %ebx | |
2b: 89 45 f4 mov %eax,-0xc(%ebp) | |
2e: 8b 45 f4 mov -0xc(%ebp),%eax | |
31: 25 00 ff 00 00 and $0xff00,%eax | |
36: 83 c4 10 add $0x10,%esp | |
39: 5e pop %esi | |
3a: 5f pop %edi | |
3b: 5d pop %ebp | |
3c: c3 ret |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment