void add_unwind_adjustsp (long); | |
void abort (void); | |
unsigned char bytes[5]; | |
int flag; | |
void | |
add_unwind_adjustsp (long offset) | |
{ | |
int n; | |
unsigned long o; | |
o = (long) ((offset - 0x204) >> 2); | |
n = 0; | |
do | |
{ | |
a: | |
bytes[n] = o & 0x7f; | |
o >>= 7; | |
if (o) | |
{ | |
bytes[n] |= 0x80; | |
if (flag) | |
goto a; | |
} | |
n++; | |
} | |
while (o); | |
} | |
int main(void) | |
{ | |
add_unwind_adjustsp (4132); | |
if (bytes[0] != 0x88 || bytes[1] != 0x07) | |
abort (); | |
return 0; | |
} |