.ident /23MAR1/ ; 23-MAR-81 22:48:31 .iif ndf $temp$ $temp$=0 $top$=. $auto$=$temp$ .enabl lc ; Mp version as of: 28-jan-81 .title libcpy $auto$=$auto$-<2> inaddr= $auto$ $auto$=$auto$-<2> outaddr= $auto$ $auto$=$auto$-<2> infile= $auto$ $auto$=$auto$-<2> outfile= $auto$ $auto$=$auto$-<2> nbytes= $auto$ argc=10. argv=12. main:: jsr r0,$$csav add #$auto$,sp $auto.=$auto$ $auto$=$temp$ cmp argc(r5),#5. BGT lib1 BR lib5 lib4=. .ASCIZ _usage: libcpy infile outfile inaddr outaddr nbytes_ .EVEN lib5=. mov r0,-(sp) mov r1,-(sp) mov #lib4,-(SP) mov #$buf$,-(SP) jsr pc,sprint cmp (sp)+,(sp)+ mov #$buf$,-(sp) jsr pc,$type$ mov (sp)+,r1 mov (sp)+,r0 mov #4.,r0 jmp $$cret lib1=. ; lib3=. BR lib7 lib6=. .ASCIZ _read_ .EVEN lib7=. BR lib9 lib8=. .ASCIZ _u_ .EVEN lib9=. mov #lib8,-(SP) mov #lib6,-(SP) mov #1.,r1 asl r1 add argv(r5),r1 mov (r1),r0 mov r0,-2.(r5) mov -2.(r5),-(SP) jsr pc,fopen add #006,sp mov r0,infile(r5) tst infile(r5) BNE lib10 mov #4.,r0 jmp $$cret lib10=. ; lib12=. BR lib14 lib13=. .ASCIZ _Update_ .EVEN lib14=. BR lib16 lib15=. .ASCIZ _u_ .EVEN lib16=. mov #lib15,-(SP) mov #lib13,-(SP) mov #2.,r1 asl r1 add argv(r5),r1 mov (r1),r0 mov r0,-2.(r5) mov -2.(r5),-(SP) jsr pc,fopen add #006,sp mov r0,outfile(r5) tst infile(r5) BNE lib17 mov #4.,r0 jmp $$cret lib17=. ; lib19=. mov #8.,-(SP) mov #3.,r1 asl r1 add argv(r5),r1 mov (r1),r0 mov r0,-2.(r5) mov -2.(r5),-(SP) jsr pc,val cmp (sp)+,(sp)+ mov r0,inaddr(r5) mov #8.,-(SP) mov #4.,r1 asl r1 add argv(r5),r1 mov (r1),r0 mov r0,-2.(r5) mov -2.(r5),-(SP) jsr pc,val cmp (sp)+,(sp)+ mov r0,outaddr(r5) mov #8.,-(SP) mov #5.,r1 asl r1 add argv(r5),r1 mov (r1),r0 mov r0,-2.(r5) mov -2.(r5),-(SP) jsr pc,val cmp (sp)+,(sp)+ mov r0,nbytes(r5) mov inaddr(r5),-(SP) clr -(SP) mov infile(r5),-(SP) jsr pc,seekl add #006,sp mov outaddr(r5),-(SP) clr -(SP) mov outfile(r5),-(SP) jsr pc,seekl add #006,sp mov #1.,r4 lib20=. cmp r4,nbytes(r5) BLE lib22 JMP lib21 lib22=. mov infile(r5),-(SP) jsr pc,getc tst (sp)+ mov r0,r3 tst r3 BGE lib23 BR lib27 lib26=. .ASCIZ _error or eof on input file code=%d_ .EVEN lib27=. mov r0,-(sp) mov r1,-(sp) mov r3,-(SP) mov #lib26,-(SP) mov #$buf$,-(SP) jsr pc,sprint add #006,sp mov #$buf$,-(sp) jsr pc,$type$ mov (sp)+,r1 mov (sp)+,r0 mov #1.,-(SP) jsr pc,exit tst (sp)+ lib23=. ; lib25=. mov outfile(r5),-(SP) mov r3,-(SP) jsr pc,putc cmp (sp)+,(sp)+ INC r4 JMP lib20 ;back to top lib21=. mov #1.,-(SP) jsr pc,exit tst (sp)+ $temp$=-4. .END