mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-11 03:52:59 +00:00
17 lines
435 B
ArmAsm
17 lines
435 B
ArmAsm
|
/ According to the iBCS2 book, signal() has 0x30 in %eax, and the address
|
||
|
/ of a function in %edx. This function is where a signal handler will
|
||
|
/ return to; it should just adjust the stack pointer, and call $f,$0.
|
||
|
/ Strange but true.
|
||
|
.globl signal
|
||
|
|
||
|
sigret:
|
||
|
addl $4, %esp
|
||
|
lcall $0xf, $0
|
||
|
signal:
|
||
|
movl $0x30, %eax
|
||
|
movl sigret, %edx
|
||
|
lcall $7,$0
|
||
|
jb _cerror
|
||
|
/ The iBCS2 book also clears out %eax here, which seems to be broken.
|
||
|
ret
|