Bug fixed: incorrect return value
New version adapted from m68k4 version.
This commit is contained in:
parent
3759de23eb
commit
928e341f16
|
@ -1,9 +1,10 @@
|
|||
|
||||
.define _signal
|
||||
.extern _signal
|
||||
NSIG=32
|
||||
_signal:
|
||||
move.w 4(sp), d0
|
||||
ext.l d0
|
||||
ext.l d0
|
||||
cmp.l #NSIG,d0
|
||||
bcc 1f
|
||||
move.l 6(sp),d1
|
||||
|
@ -16,7 +17,9 @@ _signal:
|
|||
beq 2f
|
||||
btst #0,d1
|
||||
bne 2f
|
||||
move.l #enter,d1
|
||||
move.l #jmptab,d1
|
||||
add.l d0,d1
|
||||
add.l d0,d1
|
||||
2:
|
||||
move.l d0,a0
|
||||
move.w #0x30,d0
|
||||
|
@ -26,16 +29,52 @@ _signal:
|
|||
bne 4f
|
||||
move.l a1,d0
|
||||
4:
|
||||
clr.l d1
|
||||
rts
|
||||
1:
|
||||
move.l #22,d0
|
||||
3:
|
||||
jmp cerror
|
||||
|
||||
jmptab: bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
bsr enter
|
||||
enter:
|
||||
movem.l d0/d1/a0/a1,-(sp)
|
||||
move.l 16(sp),a0
|
||||
move.l a0,-(sp)
|
||||
move.l 16(sp),d0
|
||||
sub.l #jmptab+2,d0
|
||||
asr.l #1,d0
|
||||
move.l d0,-(sp)
|
||||
move.l d0,a0
|
||||
add.l a0,a0
|
||||
add.l a0,a0
|
||||
add.l #dvect,a0
|
||||
|
|
Loading…
Reference in a new issue