c556f14e66
git-svn-id: svn://svn.cc65.org/cc65/trunk@2017 b7a2c559-68d2-44c3-8de9-860c34a00d81
44 lines
906 B
ArmAsm
44 lines
906 B
ArmAsm
;
|
|
; Ullrich von Bassewitz, 2003-03-14
|
|
;
|
|
; int __fastcall__ raise (int sig);
|
|
;
|
|
|
|
.import jmpvec
|
|
|
|
.include "signal.inc"
|
|
|
|
|
|
;----------------------------------------------------------------------------
|
|
; int __fastcall__ raise (int sig);
|
|
|
|
|
|
_raise:
|
|
cpx #0
|
|
bne invalidsig
|
|
cmp #SIGCOUNT
|
|
bcs invalidsig
|
|
|
|
; Save the signal number low byte, then setup the function vector
|
|
|
|
pha
|
|
asl a
|
|
tax
|
|
lda sigtable,x
|
|
sta jmpvec+1
|
|
lda sigtable+1,x
|
|
sta jmpvec+2
|
|
|
|
; Restore the signal number and call the function
|
|
|
|
pla ; Low byte
|
|
ldx #0 ; High byte
|
|
jsr jmpvec ; Call signal function
|
|
|
|
; raise() returns zero on success and any other value on failure
|
|
|
|
lda #0
|
|
tax
|
|
invalidsig:
|
|
rts
|
|
|