1 - signal did not clear the stack properly.
2 - lseek did not return correct.
This commit is contained in:
parent
7b39ce2cfa
commit
37d01caabd
|
@ -1,7 +1,10 @@
|
|||
!THIS FILE CONTAINS THE SYSTEM CALLS FOR PMDS-II AS SUBROUTINES FOR THE
|
||||
!EM-INTERPRETER. a1 CONTAINS A POINTER TO THE RETURN AREA . EACH SUBROUTINE
|
||||
!EXPECTS ITS DATA IN THE FORM EM PRODUCES AND GIVES ITS RESULTS AS EM
|
||||
!REQUIRES
|
||||
!REQUIRES.
|
||||
!THE PMDS-II REQUIRES THE ARGUMENTS ON THE STACK AS 4 BYTE INTEGERS OR
|
||||
!POINTERS , AND USES THE C-CALLING CONVENTION. THE 2 BYTE WORDS 4 BYTE
|
||||
!POINTERS VERSION HAS TO DO SOME CONVERSION FIRST .
|
||||
|
||||
_exit: move.l (sp),(a1)
|
||||
#ifndef lword
|
||||
|
@ -186,8 +189,7 @@ _lseek: move.l (sp),(a1)
|
|||
mov d0,-(sp)
|
||||
mov d0,-(sp)
|
||||
bra 2f
|
||||
1: move.l d1,-(sp)
|
||||
mov d0,-(sp)
|
||||
1: move.l d0,-(sp)
|
||||
cl -(sp)
|
||||
2: move.l (a1),a0
|
||||
jmp (a0)
|
||||
|
@ -359,10 +361,14 @@ _signal: move.l (sp)+,retaddr
|
|||
move.l retaddr,-(sp)
|
||||
trap #0
|
||||
.short 48
|
||||
lea 12(sp),sp !remove arguments
|
||||
bcc 1f
|
||||
mov d0,-(sp)
|
||||
bne 1f
|
||||
mov d0,-(sp)
|
||||
1: move.l retaddr,a0
|
||||
bra 2f
|
||||
1: mov d0,-(sp)
|
||||
cl -(sp)
|
||||
2: move.l retaddr,a0
|
||||
jmp (a0)
|
||||
.data
|
||||
retaddr: .long 0
|
||||
|
|
Loading…
Reference in a new issue