edited to make reentrant, no more globals in use

This commit is contained in:
sater 1984-07-20 16:20:28 +00:00
parent c2f383773d
commit 5b20e4fed2
27 changed files with 97 additions and 83 deletions

View file

@ -2,12 +2,11 @@
.text .text
.globl aar~ .globl aar~
/r0 : description address /r0 : descriptor address
/r1 : element number /r1 : element number
/base address is on stack /base address is on stack
aar~: aar~:
sub (r0),r1 sub (r0),r1
mov 04(r0),r0 mul 04(r0),r1
mul r0,r1
add r1,02(sp) add r1,02(sp)
rts pc rts pc

View file

@ -1,14 +1,14 @@
/ $Header$ / $Header$
.text .text
.globl and~ .globl and~
.globl save1~
/ size in r0
and~: and~:
mov (sp)+,save1~ mov (sp)+,r3
mov sp,r1 mov sp,r1
add r0,r1 add r0,r1
asr r0 asr r0
1: com (sp) 1: com (sp)
bic (sp)+,(r1)+ bic (sp)+,(r1)+
sob r0,1b sob r0,1b
jmp *save1~ jmp (r3)

View file

@ -1,12 +1,11 @@
/ $Header$ / $Header$
.text .text
.globl cii~ .globl cii~
.globl save1~
/convert int to int /convert int to int
/ 1 byte -> ? : sign extension / 1 byte -> ? : sign extension
cii~: cii~:
mov (sp)+,save1~ mov (sp)+,r3
mov (sp)+,r0 mov (sp)+,r0
sub (sp)+,r0 sub (sp)+,r0
ble 1f ble 1f
@ -19,6 +18,5 @@ cii~:
tst (sp) tst (sp)
4: sxt -(sp) 4: sxt -(sp)
sob r0,4b sob r0,4b
3: jmp *save1~ 1: sub r0,sp / if out of sob loop r0==0
1: sub r0,sp 3: jmp (r3)
jmp *save1~

View file

@ -9,6 +9,5 @@ cuu~:
asr r0 asr r0
2: clr -(sp) 2: clr -(sp)
sob r0,2b sob r0,2b
jmp (r1) 1: sub r0,sp / if out of sob loop r0==0
1: sub r0,sp
jmp (r1) jmp (r1)

View file

@ -1,7 +1,6 @@
/ $Header$ / $Header$
.text .text
.globl cmi4~ .globl cmi4~
.globl save1~
cmi4~: cmi4~:
mov (sp)+,r1 mov (sp)+,r1

View file

@ -1,7 +1,6 @@
/ $Header$ / $Header$
.text .text
.globl cmu4~ .globl cmu4~
.globl save~,retu~
cmu4~: cmu4~:
mov (sp)+,r1 mov (sp)+,r1
clr r0 clr r0

View file

@ -6,7 +6,6 @@
ECASE = 20. ECASE = 20.
csb~: csb~:
mov r3,-(sp)
mov (r0)+,-(sp) mov (r0)+,-(sp)
mov (r0)+,r3 mov (r0)+,r3
beq 1f beq 1f
@ -19,8 +18,6 @@ csb~:
2: tst (sp)+ 2: tst (sp)+
mov (r0),r1 mov (r0),r1
4: beq 5f 4: beq 5f
mov (sp)+,r3
jmp (r1) jmp (r1)
5: mov (sp)+,r3 5: mov $ECASE,-(sp)
mov $ECASE,-(sp)
jmp fat~ jmp fat~

View file

@ -1,13 +1,12 @@
/ $Header$ / $Header$
.text .text
.globl dup~ .globl dup~
.globl save1~
dup~: dup~:
mov (sp)+,save1~ mov (sp)+,r3
mov sp,r1 mov sp,r1
add r0,r1 add r0,r1
asr r0 asr r0
1: mov -(r1),-(sp) 1: mov -(r1),-(sp)
sob r0,1b sob r0,1b
jmp *save1~ jmp (r3)

View file

@ -1,10 +1,10 @@
/ $Header$ / $Header$
.text .text
.globl dvi~ .globl dvi~
.globl save1~,unknown~,dvi4~ .globl unknown~,dvi4~
dvi~: dvi~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$04 cmp r0,$04
bgt 1f bgt 1f
beq 2f beq 2f
@ -16,5 +16,5 @@ dvi~:
2: jsr pc,dvi4~ 2: jsr pc,dvi4~
mov r1,-(sp) mov r1,-(sp)
mov r0,-(sp) mov r0,-(sp)
3: jmp *save1~ 3: jmp (r3)
1: jmp unknown~ 1: jmp unknown~

View file

@ -1,10 +1,10 @@
/ $Header$ / $Header$
.text .text
.globl dvu~ .globl dvu~
.globl save1~,unknown~,dvu4~,dvu2~ .globl unknown~,dvu4~,dvu2~
dvu~: dvu~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$04 cmp r0,$04
bgt 1f bgt 1f
beq 2f beq 2f
@ -14,5 +14,5 @@ dvu~:
2: jsr pc,dvu4~ 2: jsr pc,dvu4~
mov r1,-(sp) mov r1,-(sp)
mov r0,-(sp) mov r0,-(sp)
3: jmp *save1~ 3: jmp (r3)
1: jmp unknown~ 1: jmp unknown~

View file

@ -9,8 +9,7 @@ inn~:
cmp r0,(sp) cmp r0,(sp)
bcc 1f bcc 1f
add sp,r0 add sp,r0
add $4,r0 bitb bits(r1),4(r0)
bitb bits(r1),(r0)
beq 1f beq 1f
mov $01,r0 mov $01,r0
br 2f br 2f

View file

@ -1,10 +1,9 @@
/ $Header$ / $Header$
.text .text
.globl lar~ .globl lar~
.globl save1~
lar~: lar~:
mov (sp)+,save1~ mov (sp)+,r3
sub (r0),r1 sub (r0),r1
mov 04(r0),r0 mov 04(r0),r0
mul r0,r1 mul r0,r1
@ -14,8 +13,8 @@ lar~:
beq 1f beq 1f
2: mov -(r1),-(sp) 2: mov -(r1),-(sp)
sob r0,2b sob r0,2b
jmp *save1~ jmp (r3)
1: clr r0 1: clr r0
bisb -(r1),r0 bisb -(r1),r0
mov r0,-(sp) mov r0,-(sp)
jmp *save1~ jmp (r3)

View file

@ -1,17 +1,16 @@
/ $Header$ / $Header$
.text .text
.globl los2~ .globl los2~
.globl save1~
los2~: los2~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$01 cmp r0,$01
bne 1f bne 1f
clr -(sp) clr -(sp)
bisb (r1),(sp) bisb (r1),(sp)
jmp *save1~ jmp (r3)
1: add r0,r1 1: add r0,r1
asr r0 asr r0
2: mov -(r1),-(sp) 2: mov -(r1),-(sp)
sob r0,2b sob r0,2b
jmp *save1~ jmp (r3)

View file

@ -1,7 +1,7 @@
/ $Header$ / $Header$
.text .text
.globl mli~ .globl mli~
.globl save1~,unknown~,mli4~ .globl unknown~,mli4~
mli~: mli~:
cmp r0,$04 cmp r0,$04
@ -12,9 +12,9 @@ mli~:
mul (sp)+,r1 mul (sp)+,r1
mov r1,-(sp) mov r1,-(sp)
jmp (r0) jmp (r0)
2: mov (sp)+,save1~ 2: mov (sp)+,r3
jsr pc,mli4~ jsr pc,mli4~
mov r1,-(sp) mov r1,-(sp)
mov r0,-(sp) mov r0,-(sp)
jmp *save1~ jmp (r3)
1: jmp unknown~ 1: jmp unknown~

View file

@ -1,7 +1,7 @@
/ $Header$ / $Header$
.text .text
.globl mlu~ .globl mlu~
.globl save1~,unknown~,mlu4~ .globl unknown~,mlu4~
mlu~: mlu~:
cmp r0,$04 cmp r0,$04
@ -12,9 +12,9 @@ mlu~:
mul (sp)+,r1 mul (sp)+,r1
mov r1,-(sp) mov r1,-(sp)
jmp (r0) jmp (r0)
2: mov (sp)+,save1~ 2: mov (sp)+,r3
jsr pc,mlu4~ jsr pc,mlu4~
mov r1,-(sp) mov r1,-(sp)
mov r0,-(sp) mov r0,-(sp)
jmp *save1~ jmp (r3)
1: jmp unknown~ 1: jmp unknown~

View file

@ -4,8 +4,7 @@
.globl setfloat~ .globl setfloat~
ngf~: ngf~:
mov (sp)+,r1
jsr pc,setfloat~ jsr pc,setfloat~
negf (sp) negf 2(sp)
setd setd
jmp (r1) rts pc

View file

@ -1,7 +1,6 @@
/ $Header$ / $Header$
.text .text
.globl ret~,lfr~,retar .globl ret~,lfr~,retar
.globl save1~
.globl unknown~ .globl unknown~
/ Size in r0 / Size in r0
@ -19,13 +18,13 @@ ret~:
rts pc rts pc
9: jmp unknown~ 9: jmp unknown~
lfr~: lfr~:
mov (sp)+,save1~ mov (sp)+,r3
asr r0 asr r0
beq 4f beq 4f
mov $retar,r1 mov $retar,r1
5: mov (r1)+,-(sp) 5: mov (r1)+,-(sp)
sob r0,5b sob r0,5b
4: jmp *save1~ 4: jmp (r3)
.data .data
retar: .=.+16. retar: .=.+16.

View file

@ -1,10 +1,10 @@
/ $Header$ / $Header$
.text .text
.globl rmi~ .globl rmi~
.globl save1~,unknown~,rmi4~ .globl unknown~,rmi4~
rmi~: rmi~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$04 cmp r0,$04
bgt 1f bgt 1f
beq 2f beq 2f
@ -16,5 +16,5 @@ rmi~:
2: jsr pc,rmi4~ 2: jsr pc,rmi4~
mov r1,-(sp) mov r1,-(sp)
mov r0,-(sp) mov r0,-(sp)
3: jmp *save1~ 3: jmp (r3)
1: jmp unknown~ 1: jmp unknown~

View file

@ -1,10 +1,10 @@
/ $Header$ / $Header$
.text .text
.globl rmu~ .globl rmu~
.globl save1~,rmu2~,rmu4~,unknown~ .globl rmu2~,rmu4~,unknown~
rmu~: rmu~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$04 cmp r0,$04
bgt 1f bgt 1f
beq 2f beq 2f
@ -12,9 +12,9 @@ rmu~:
bne 1f bne 1f
jsr pc,rmu2~ jsr pc,rmu2~
mov r1,-(sp) mov r1,-(sp)
jmp *save1~ jmp (r3)
2: jsr pc,rmu4~ 2: jsr pc,rmu4~
mov r1,-(sp) mov r1,-(sp)
mov r0,-(sp) mov r0,-(sp)
jmp *save1~ jmp (r3)
1: jmp unknown~ 1: jmp unknown~

View file

@ -1,10 +1,9 @@
/ $Header$ / $Header$
.text .text
.globl sar~ .globl sar~
.globl save1~
sar~: sar~:
mov (sp)+,save1~ mov (sp)+,r3
sub (r0),r1 sub (r0),r1
mov 04(r0),r0 mov 04(r0),r0
mul r0,r1 mul r0,r1
@ -13,6 +12,6 @@ sar~:
beq 1f beq 1f
2: mov (sp)+,(r1)+ 2: mov (sp)+,(r1)+
sob r0,2b sob r0,2b
jmp *save1~ jmp (r3)
1: movb (sp)+,(r1) 1: movb (sp)+,(r1)
jmp *save1~ jmp (r3)

View file

@ -1,6 +1,6 @@
/ $Header$ / $Header$
.text .text
.globl save~,retu~,save1~ .globl save~,retu~,savearea
save~: save~:
mov r5,savearea mov r5,savearea
@ -23,4 +23,3 @@ retu~:
.even .even
savearea: savearea:
.=.+12. .=.+12.
save1~: 0

View file

@ -1,12 +1,12 @@
/ $Header$ / $Header$
.text .text
.globl sim~ .globl sim~
.globl trpim~,save1~ .globl trpim~
.float = 1 .float = 1
sim~: sim~:
mov (sp)+,save1~ mov (sp)+,r3
mov (sp)+,r0 mov (sp)+,r0
mov r0,trpim~ mov r0,trpim~
.if .float .if .float
@ -26,4 +26,4 @@ sim~:
bic $0400,r1 bic $0400,r1
0: ldfps r1 0: ldfps r1
.endif .endif
jmp *save1~ jmp (r3)

View file

@ -1,17 +1,17 @@
/ $Header$ / $Header$
.text .text
.globl sli~ .globl sli~
.globl save1~,unknown~ .globl unknown~
sli~: sli~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$02 cmp r0,$02
bgt 1f bgt 1f
mov (sp)+,r1 mov (sp)+,r1
mov (sp)+,r0 mov (sp)+,r0
ash r1,r0 ash r1,r0
mov r0,-(sp) mov r0,-(sp)
jmp *save1~ jmp (r3)
1: cmp r0,$04 1: cmp r0,$04
bgt 2f bgt 2f
mov 02(sp),r0 mov 02(sp),r0
@ -19,5 +19,5 @@ sli~:
ashc (sp)+,r0 ashc (sp)+,r0
mov r0,(sp) mov r0,(sp)
mov r1,02(sp) mov r1,02(sp)
jmp *save1~ jmp (r3)
2: jmp unknown~ 2: jmp unknown~

View file

@ -1,11 +1,11 @@
/ $Header$ / $Header$
.text .text
.globl sri~ .globl sri~
.globl unknown~,save1~ .globl unknown~
/ Size in r0 / Size in r0
sri~: sri~:
mov (sp)+,save1~ mov (sp)+,r3~
cmp r0,$02 cmp r0,$02
bgt 1f bgt 1f
mov (sp)+,r1 mov (sp)+,r1
@ -13,7 +13,7 @@ sri~:
neg r1 neg r1
ash r1,r0 ash r1,r0
mov r0,-(sp) mov r0,-(sp)
jmp *save1~ jmp (r3)
1: cmp r0,$04 1: cmp r0,$04
bgt 2f bgt 2f
mov 02(sp),r0 mov 02(sp),r0
@ -22,5 +22,5 @@ sri~:
ashc (sp)+,r0 ashc (sp)+,r0
mov r0,(sp) mov r0,(sp)
mov r1,02(sp) mov r1,02(sp)
jmp *save1~ jmp (r3)
2: jmp unknown~ 2: jmp unknown~

View file

@ -1,19 +1,19 @@
/ $Header$ / $Header$
.text .text
.globl sru~,slu~ .globl sru~,slu~
.globl save1~,unknown~ .globl unknown~
sru~: sru~:
neg 2(sp) neg 2(sp)
slu~: slu~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$02 cmp r0,$02
bgt 1f bgt 1f
mov 2(sp),r1 mov 2(sp),r1
clr r0 clr r0
ashc (sp)+,r0 ashc (sp)+,r0
2: mov r1,-(sp) 2: mov r1,-(sp)
jmp *save1~ jmp (r3)
1: cmp r0,$04 1: cmp r0,$04
bgt 3f bgt 3f
mov 02(sp),r0 mov 02(sp),r0
@ -27,5 +27,5 @@ slu~:
ashc (sp)+,r0 ashc (sp)+,r0
4: mov r0,(sp) 4: mov r0,(sp)
mov r1,02(sp) mov r1,02(sp)
jmp *save1~ jmp (r3)
3: jmp unknown~ 3: jmp unknown~

View file

@ -1,16 +1,15 @@
/ $Header$ / $Header$
.text .text
.globl sto2~ .globl sto2~
.globl save1~
sto2~: sto2~:
mov (sp)+,save1~ mov (sp)+,r3
cmp r0,$01 cmp r0,$01
bne 1f bne 1f
movb (sp),(r1) movb (sp),(r1)
tst (sp)+ tst (sp)+
jmp *save1~ jmp (r3)
1: asr r0 1: asr r0
2: mov (sp)+,(r1)+ 2: mov (sp)+,(r1)+
sob r0,2b sob r0,2b
jmp *save1~ jmp (r3)

View file

@ -1,7 +1,7 @@
/ $Header$ / $Header$
.text .text
.globl trp~,fat~ .globl trp~,fat~
.globl trppc~,trpim~ .globl trppc~,trpim~,savearea,retar
write=4. write=4.
fat~: fat~:
@ -28,12 +28,44 @@ trp~:
movf r2,-(sp) movf r2,-(sp)
movf r3,-(sp) movf r3,-(sp)
stfps -(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 r0,-(sp)
mov trppc~,r0 mov trppc~,r0
beq 9f beq 9f
clr trppc~ clr trppc~
jsr pc,(r0) jsr pc,(r0)
tst (sp)+ 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)+ ldfps (sp)+
movf (sp)+,r3 movf (sp)+,r3
movf (sp)+,r2 movf (sp)+,r2