edited to make reentrant, no more globals in use
authorsater <none@none>
Fri, 20 Jul 1984 16:20:28 +0000 (16:20 +0000)
committersater <none@none>
Fri, 20 Jul 1984 16:20:28 +0000 (16:20 +0000)
27 files changed:
mach/pdp/libem/aar.s
mach/pdp/libem/and.s
mach/pdp/libem/cii.s
mach/pdp/libem/ciu.s
mach/pdp/libem/cmi4.s
mach/pdp/libem/cmu4.s
mach/pdp/libem/csb.s
mach/pdp/libem/dup.s
mach/pdp/libem/dvi.s
mach/pdp/libem/dvu.s
mach/pdp/libem/inn.s
mach/pdp/libem/lar.s
mach/pdp/libem/los2.s
mach/pdp/libem/mli.s
mach/pdp/libem/mlu.s
mach/pdp/libem/ngf.s
mach/pdp/libem/ret.s
mach/pdp/libem/rmi.s
mach/pdp/libem/rmu.s
mach/pdp/libem/sar.s
mach/pdp/libem/save.s
mach/pdp/libem/sim.s
mach/pdp/libem/sli.s
mach/pdp/libem/sri.s
mach/pdp/libem/sru.s
mach/pdp/libem/sto2.s
mach/pdp/libem/trp.s

index 19d9a7d..bcc130f 100644 (file)
@@ -2,12 +2,11 @@
 .text
 .globl aar~
 
-/r0 : description address
+/r0 : descriptor address
 /r1 : element number
 /base address is on stack
 aar~:
        sub     (r0),r1
-       mov     04(r0),r0
-       mul     r0,r1
+       mul     04(r0),r1
        add     r1,02(sp)
        rts     pc
index 43a0258..a9c3495 100644 (file)
@@ -1,14 +1,14 @@
 / $Header$
 .text
 .globl and~
-.globl save1~
 
+/ size in r0
 and~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        mov     sp,r1
        add     r0,r1
        asr     r0
 1:     com     (sp)
        bic     (sp)+,(r1)+
        sob     r0,1b
-       jmp     *save1~
+       jmp     (r3)
index e291654..fe1e6c9 100644 (file)
@@ -1,12 +1,11 @@
 / $Header$
 .text
 .globl cii~
-.globl save1~
 
 /convert int to int
 / 1 byte -> ? : sign extension
 cii~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        mov     (sp)+,r0
        sub     (sp)+,r0
        ble     1f
@@ -19,6 +18,5 @@ cii~:
        tst     (sp)
 4:     sxt     -(sp)
        sob     r0,4b
-3:     jmp     *save1~
-1:     sub     r0,sp
-       jmp     *save1~
+1:     sub     r0,sp   / if out of sob loop r0==0
+3:     jmp     (r3)
index ddf6d62..bf1ad2d 100644 (file)
@@ -9,6 +9,5 @@ cuu~:
        asr     r0
 2:     clr     -(sp)
        sob     r0,2b
-       jmp     (r1)
-1:     sub     r0,sp
+1:     sub     r0,sp   / if out of sob loop r0==0
        jmp     (r1)
index 2f710fe..ffc0b76 100644 (file)
@@ -1,7 +1,6 @@
 / $Header$
 .text
 .globl cmi4~
-.globl save1~
 
 cmi4~:
        mov     (sp)+,r1
index 0cd6a9f..6525354 100644 (file)
@@ -1,7 +1,6 @@
 / $Header$
        .text
        .globl  cmu4~
-       .globl  save~,retu~
 cmu4~:
        mov     (sp)+,r1
        clr     r0
index e6de3bf..f150541 100644 (file)
@@ -6,7 +6,6 @@
 ECASE  = 20.
 
 csb~:
-       mov     r3,-(sp)
        mov     (r0)+,-(sp)
        mov     (r0)+,r3
        beq     1f
@@ -19,8 +18,6 @@ csb~:
 2:     tst     (sp)+
        mov     (r0),r1
 4:     beq     5f
-       mov     (sp)+,r3
        jmp     (r1)
-5:     mov     (sp)+,r3
-       mov     $ECASE,-(sp)
+5:     mov     $ECASE,-(sp)
        jmp     fat~
index 6230351..9d5863e 100644 (file)
@@ -1,13 +1,12 @@
 / $Header$
 .text
 .globl dup~
-.globl save1~
 
 dup~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        mov     sp,r1
        add     r0,r1
        asr     r0
 1:     mov     -(r1),-(sp)
        sob     r0,1b
-       jmp     *save1~
+       jmp     (r3)
index ca4384b..0eb13ce 100644 (file)
@@ -1,10 +1,10 @@
 / $Header$
 .text
 .globl dvi~
-.globl save1~,unknown~,dvi4~
+.globl unknown~,dvi4~
 
 dvi~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$04
        bgt     1f
        beq     2f
@@ -16,5 +16,5 @@ dvi~:
 2:     jsr     pc,dvi4~
        mov     r1,-(sp)
        mov     r0,-(sp)
-3:     jmp     *save1~
+3:     jmp     (r3)
 1:     jmp     unknown~
index 16b65dd..e27d99f 100644 (file)
@@ -1,10 +1,10 @@
 / $Header$
 .text
 .globl dvu~
-.globl save1~,unknown~,dvu4~,dvu2~
+.globl unknown~,dvu4~,dvu2~
 
 dvu~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$04
        bgt     1f
        beq     2f
@@ -14,5 +14,5 @@ dvu~:
 2:     jsr     pc,dvu4~
        mov     r1,-(sp)
        mov     r0,-(sp)
-3:     jmp     *save1~
+3:     jmp     (r3)
 1:     jmp     unknown~
index 353cbcc..5d32661 100644 (file)
@@ -9,8 +9,7 @@ inn~:
        cmp     r0,(sp)
        bcc     1f
        add     sp,r0
-       add     $4,r0
-       bitb    bits(r1),(r0)
+       bitb    bits(r1),4(r0)
        beq     1f
        mov     $01,r0
        br      2f
index f20740a..ce4f92e 100644 (file)
@@ -1,10 +1,9 @@
 / $Header$
 .text
 .globl lar~
-.globl save1~
 
 lar~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        sub     (r0),r1
        mov     04(r0),r0
        mul     r0,r1
@@ -14,8 +13,8 @@ lar~:
        beq     1f
 2:     mov     -(r1),-(sp)
        sob     r0,2b
-       jmp     *save1~
+       jmp     (r3)
 1:     clr     r0
        bisb    -(r1),r0
        mov     r0,-(sp)
-       jmp     *save1~
+       jmp     (r3)
index 9c10307..1caccea 100644 (file)
@@ -1,17 +1,16 @@
 / $Header$
 .text
 .globl los2~
-.globl save1~
 
 los2~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$01
        bne     1f
        clr     -(sp)
        bisb    (r1),(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     add     r0,r1
        asr     r0
 2:     mov     -(r1),-(sp)
        sob     r0,2b
-       jmp     *save1~
+       jmp     (r3)
index aed3702..d9826fc 100644 (file)
@@ -1,7 +1,7 @@
 / $Header$
 .text
 .globl mli~
-.globl save1~,unknown~,mli4~
+.globl unknown~,mli4~
 
 mli~:
        cmp     r0,$04
@@ -12,9 +12,9 @@ mli~:
        mul     (sp)+,r1
        mov     r1,-(sp)
        jmp     (r0)
-2:     mov     (sp)+,save1~
+2:     mov     (sp)+,r3
        jsr     pc,mli4~
        mov     r1,-(sp)
        mov     r0,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     jmp     unknown~
index 970e7de..9bd1328 100644 (file)
@@ -1,7 +1,7 @@
 / $Header$
 .text
 .globl mlu~
-.globl save1~,unknown~,mlu4~
+.globl unknown~,mlu4~
 
 mlu~:
        cmp     r0,$04
@@ -12,9 +12,9 @@ mlu~:
        mul     (sp)+,r1
        mov     r1,-(sp)
        jmp     (r0)
-2:     mov     (sp)+,save1~
+2:     mov     (sp)+,r3
        jsr     pc,mlu4~
        mov     r1,-(sp)
        mov     r0,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     jmp     unknown~
index 982aef7..a167ee8 100644 (file)
@@ -4,8 +4,7 @@
 .globl setfloat~
 
 ngf~:
-       mov     (sp)+,r1
        jsr     pc,setfloat~
-       negf    (sp)
+       negf    2(sp)
        setd
-       jmp     (r1)
+       rts     pc
index 84d747f..c20cd39 100644 (file)
@@ -1,7 +1,6 @@
 / $Header$
 .text
 .globl ret~,lfr~,retar
-.globl save1~
 .globl unknown~
 
 / Size in r0
@@ -19,13 +18,13 @@ ret~:
        rts     pc
 9:     jmp     unknown~
 lfr~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        asr     r0
        beq     4f
        mov     $retar,r1
 5:     mov     (r1)+,-(sp)
        sob     r0,5b
-4:     jmp     *save1~
+4:     jmp     (r3)
 
 .data
 retar: .=.+16.
index cc0a642..d7f5e88 100644 (file)
@@ -1,10 +1,10 @@
 / $Header$
 .text
 .globl rmi~
-.globl save1~,unknown~,rmi4~
+.globl unknown~,rmi4~
 
 rmi~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$04
        bgt     1f
        beq     2f
@@ -16,5 +16,5 @@ rmi~:
 2:     jsr     pc,rmi4~
        mov     r1,-(sp)
        mov     r0,-(sp)
-3:     jmp     *save1~
+3:     jmp     (r3)
 1:     jmp     unknown~
index bf43fd1..995d894 100644 (file)
@@ -1,10 +1,10 @@
 / $Header$
 .text
 .globl rmu~
-.globl save1~,rmu2~,rmu4~,unknown~
+.globl rmu2~,rmu4~,unknown~
 
 rmu~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$04
        bgt     1f
        beq     2f
@@ -12,9 +12,9 @@ rmu~:
        bne     1f
        jsr     pc,rmu2~
        mov     r1,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 2:     jsr     pc,rmu4~
        mov     r1,-(sp)
        mov     r0,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     jmp     unknown~
index e65f03b..5e13b44 100644 (file)
@@ -1,10 +1,9 @@
 / $Header$
 .text
 .globl sar~
-.globl save1~
 
 sar~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        sub     (r0),r1
        mov     04(r0),r0
        mul     r0,r1
@@ -13,6 +12,6 @@ sar~:
        beq     1f
 2:     mov     (sp)+,(r1)+
        sob     r0,2b
-       jmp     *save1~
+       jmp     (r3)
 1:     movb    (sp)+,(r1)
-       jmp     *save1~
+       jmp     (r3)
index 165a3b9..7eac286 100644 (file)
@@ -1,6 +1,6 @@
 / $Header$
 .text
-.globl save~,retu~,save1~
+.globl save~,retu~,savearea
 
 save~:
        mov     r5,savearea
@@ -23,4 +23,3 @@ retu~:
 .even
 savearea:
        .=.+12.
-save1~:        0
index d6eb27c..8052f9e 100644 (file)
@@ -1,12 +1,12 @@
 / $Header$
 .text
 .globl sim~
-.globl trpim~,save1~
+.globl trpim~
 
 .float = 1
 
 sim~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        mov     (sp)+,r0
        mov     r0,trpim~
 .if .float
@@ -26,4 +26,4 @@ sim~:
        bic     $0400,r1
 0:     ldfps   r1
 .endif
-       jmp     *save1~
+       jmp     (r3)
index 6baa79f..cf704d2 100644 (file)
@@ -1,17 +1,17 @@
 / $Header$
 .text
 .globl sli~
-.globl save1~,unknown~
+.globl unknown~
 
 sli~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$02
        bgt     1f
        mov     (sp)+,r1
        mov     (sp)+,r0
        ash     r1,r0
        mov     r0,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     cmp     r0,$04
        bgt     2f
        mov     02(sp),r0
@@ -19,5 +19,5 @@ sli~:
        ashc    (sp)+,r0
        mov     r0,(sp)
        mov     r1,02(sp)
-       jmp     *save1~
+       jmp     (r3)
 2:     jmp     unknown~
index 6e5771d..2d3dc38 100644 (file)
@@ -1,11 +1,11 @@
 / $Header$
 .text
 .globl sri~
-.globl unknown~,save1~
+.globl unknown~
 
 / Size in r0
 sri~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3~
        cmp     r0,$02
        bgt     1f
        mov     (sp)+,r1
@@ -13,7 +13,7 @@ sri~:
        neg     r1
        ash     r1,r0
        mov     r0,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     cmp     r0,$04
        bgt     2f
        mov     02(sp),r0
@@ -22,5 +22,5 @@ sri~:
        ashc    (sp)+,r0
        mov     r0,(sp)
        mov     r1,02(sp)
-       jmp     *save1~
+       jmp     (r3)
 2:     jmp     unknown~
index 716c546..c048139 100644 (file)
@@ -1,19 +1,19 @@
 / $Header$
 .text
 .globl sru~,slu~
-.globl save1~,unknown~
+.globl unknown~
 
 sru~:
        neg     2(sp)
 slu~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$02
        bgt     1f
        mov     2(sp),r1
        clr     r0
        ashc    (sp)+,r0
 2:     mov     r1,-(sp)
-       jmp     *save1~
+       jmp     (r3)
 1:     cmp     r0,$04
        bgt     3f
        mov     02(sp),r0
@@ -27,5 +27,5 @@ slu~:
        ashc    (sp)+,r0
 4:     mov     r0,(sp)
        mov     r1,02(sp)
-       jmp     *save1~
+       jmp     (r3)
 3:     jmp     unknown~
index 3019a76..9609fd3 100644 (file)
@@ -1,16 +1,15 @@
 / $Header$
 .text
 .globl sto2~
-.globl save1~
 
 sto2~:
-       mov     (sp)+,save1~
+       mov     (sp)+,r3
        cmp     r0,$01
        bne     1f
        movb    (sp),(r1)
        tst     (sp)+
-       jmp     *save1~
+       jmp     (r3)
 1:     asr     r0
 2:     mov     (sp)+,(r1)+
        sob     r0,2b
-       jmp     *save1~
+       jmp     (r3)
index 6954841..af87951 100644 (file)
@@ -1,7 +1,7 @@
 / $Header$
 .text
 .globl trp~,fat~
-.globl trppc~,trpim~
+.globl trppc~,trpim~,savearea,retar
        write=4.
 
 fat~:
@@ -28,12 +28,44 @@ trp~:
        movf    r2,-(sp)
        movf    r3,-(sp)
        stfps   -(sp)
+       mov     $savearea,r2
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     $retar,r2
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
+       mov     (r2)+,-(sp)
        mov     r0,-(sp)
        mov     trppc~,r0
        beq     9f
        clr     trppc~
        jsr     pc,(r0)
        tst     (sp)+
+       mov     $retar+16.,r2
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     $savearea+12.,r2
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
+       mov     (sp)+,-(r2)
        ldfps   (sp)+
        movf    (sp)+,r3
        movf    (sp)+,r2