only depend on MON implementation for system calls
authorceriel <none@none>
Thu, 29 Aug 1991 11:30:58 +0000 (11:30 +0000)
committerceriel <none@none>
Thu, 29 Aug 1991 11:30:58 +0000 (11:30 +0000)
mach/z8000/libem/LIST
mach/z8000/libem/printf.s
mach/z8000/libem/trp.s

index de1186d..299841a 100644 (file)
@@ -18,7 +18,6 @@ gto.s
 inn.s
 lar.s
 los2.s
-mon.s
 noop.s
 prf.s
 rck.s
index 56ca133..be75407 100755 (executable)
@@ -58,10 +58,15 @@ ready:          !now really print the string we built in the buffer
        ldb     0(R3), RL0      !end string with '\0'
        sub     R3, $buff-1     !R3 contains the number of characters
        ld      R1, $buff
-7:     ldb     RL0, 0(R1)
-       inc     R1
-       sc      $4
-       djnz    R3, 7b
+
+       push    *RR14, R3       !count
+       push    *RR14, R1       !buffer
+       push    *RR14, $2       !file descriptor
+       push    *RR14, $4       ! write
+       calr    mon
+       pop     R1, *RR14
+       pop     R1, *RR14       ! ignore result
+
        ldm     R4, savereg, $10
        pushl   *RR14, saveret
        ret
index 82ed1df..aa73439 100644 (file)
@@ -6,8 +6,20 @@
 .sect .text
 
 fatal:
+       push    *RR14, R1
+       inc     R15, $2
+       popl    saveret, *RR14
+       pop     R1, *RR14       !trap number in R1
+       push    *RR14, R1
+       push    *RR14, R1
+       dec     R15, $4
+       pop     R1, *RR14       !restore R1
+       inc     R15, $2
+       pushl   *RR14, saveret
        calr    trp
-       sc      $EXIT
+       push    *RR14, $1
+       calr    mon
+       !NOTREACHED
 
 trp:
        push    *RR14, R1
@@ -36,8 +48,13 @@ trp:
 2:     pop     R1, *RR14
        pop     R0, *RR14
        ret
-3:     push    *RR14, $err
+3:     pop     R1, *RR14
+       push    *RR14, R1
+       push    *RR14, R1
+       push    *RR14, $err
        calr    printf
-       sc      $EXIT
+       push    *RR14, $1
+       calr    mon
+       !NOTREACHED
 .sect .data
 err:   .asciz  "trap error %d\n"