1 - signal did not clear the stack properly.
2 - lseek did not return correct.
This commit is contained in:
parent
7b39ce2cfa
commit
37d01caabd
1 changed files with 11 additions and 5 deletions
|
@ -1,7 +1,10 @@
|
||||||
!THIS FILE CONTAINS THE SYSTEM CALLS FOR PMDS-II AS SUBROUTINES FOR THE
|
!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
|
!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
|
!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)
|
_exit: move.l (sp),(a1)
|
||||||
#ifndef lword
|
#ifndef lword
|
||||||
|
@ -186,8 +189,7 @@ _lseek: move.l (sp),(a1)
|
||||||
mov d0,-(sp)
|
mov d0,-(sp)
|
||||||
mov d0,-(sp)
|
mov d0,-(sp)
|
||||||
bra 2f
|
bra 2f
|
||||||
1: move.l d1,-(sp)
|
1: move.l d0,-(sp)
|
||||||
mov d0,-(sp)
|
|
||||||
cl -(sp)
|
cl -(sp)
|
||||||
2: move.l (a1),a0
|
2: move.l (a1),a0
|
||||||
jmp (a0)
|
jmp (a0)
|
||||||
|
@ -359,10 +361,14 @@ _signal: move.l (sp)+,retaddr
|
||||||
move.l retaddr,-(sp)
|
move.l retaddr,-(sp)
|
||||||
trap #0
|
trap #0
|
||||||
.short 48
|
.short 48
|
||||||
|
lea 12(sp),sp !remove arguments
|
||||||
|
bcc 1f
|
||||||
mov d0,-(sp)
|
mov d0,-(sp)
|
||||||
bne 1f
|
|
||||||
mov d0,-(sp)
|
mov d0,-(sp)
|
||||||
1: move.l retaddr,a0
|
bra 2f
|
||||||
|
1: mov d0,-(sp)
|
||||||
|
cl -(sp)
|
||||||
|
2: move.l retaddr,a0
|
||||||
jmp (a0)
|
jmp (a0)
|
||||||
.data
|
.data
|
||||||
retaddr: .long 0
|
retaddr: .long 0
|
||||||
|
|
Loading…
Reference in a new issue