445d52de66
trp.s needed it and is behind ret.s in the library. When ret.s is loaded, it calls (via unknown) trp.s so inclusion in trp.s should work.
96 lines
1.5 KiB
ArmAsm
96 lines
1.5 KiB
ArmAsm
/ $Header$
|
|
.text
|
|
.globl trp~,fat~
|
|
.globl trppc~,trpim~,savearea,retar
|
|
write=4.
|
|
|
|
fat~:
|
|
jsr pc,trp~
|
|
4
|
|
|
|
trp~:
|
|
mov r0,-(sp)
|
|
mov 04(sp),r0
|
|
mov 02(sp),04(sp)
|
|
mov (sp),02(sp)
|
|
mov r1,(sp)
|
|
cmp r0,$16.
|
|
jhis 0f
|
|
mov $01,r1
|
|
ashc r0,r1
|
|
bit r1,trpim~
|
|
bne 8f
|
|
0: mov r2,-(sp)
|
|
mov r3,-(sp)
|
|
mov r4,-(sp)
|
|
movf r0,-(sp)
|
|
movf r1,-(sp)
|
|
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
|
|
movf (sp)+,r1
|
|
movf (sp)+,r0
|
|
mov (sp)+,r4
|
|
mov (sp)+,r3
|
|
mov (sp)+,r2
|
|
8: mov (sp)+,r1
|
|
mov (sp)+,r0
|
|
rts pc
|
|
9: mov (sp)+,r0
|
|
mov $buf+11,r1
|
|
mov $4,r2
|
|
1: mov r0,r3
|
|
bic $177770,r3
|
|
bisb r3,-(r1)
|
|
ash $-3,r0
|
|
sob r2,1b
|
|
mov $2,r0
|
|
sys write;buf;11.
|
|
4
|
|
|
|
.data
|
|
retar: .=.+16.
|
|
retend:
|
|
buf: <err 00000\n>
|