.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text .sect .text .define trp~,fat~ .extern trppc~,trpim~,savearea,retar ! $Id$ fat~: jsr pc,trp~ jsr pc,EXIT trp~: mov r0,-(sp) mov 04(sp),r0 mov 02(sp),04(sp) mov (sp),02(sp) mov r1,(sp) cmp r0,$020 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+020,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+014,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+011,r1 mov $4,r2 1: mov r0,r3 bic $0177770,r3 bisb r3,-(r1) ash $-3,r0 sob r2,1b mov $013,-(sp) mov $buf,-(sp) mov $2,-(sp) jsr pc,WRITE add $6,sp jsr pc,EXIT .sect .data retar: .space 16 retend: buf: .ascii "err 00000\n"