/
.mcall exit$s
        program usage
usage::
        push r1
        push r0
        push r5
        push @2(r5)
        call use
        tst (sp)+
        pop r5
        pop r0
        pop r1
        rts pc

        auto nmacs,nbytes,nlines,nops,nnames
function use[loc] is local
        nmacs :=   @#mlcnt - #extmac * -1
        nbytes := #mtext + #sz.mtext - loc
        nlines :=   @#mlnum - #dm.mtext * -1
        nops :=   @#.lopcodes - #<.lopcodes-.opcodes> * -1
        r4 := fndstr[#mnames,<@#mlcnt + #1>]
        r4 := r4 - #mnames
        nnames :=   r4 - @#mnames * -1
clr r4
if nmacs lt 2 or nbytes lt 100 or nlines lt 5 or nops lt 2
inc r4
fi
if nnames lt 2 
inc r4
fi
if xx.switch ne 0 or r4 ne 0
begin
if r4 ne 0
printf "Table overflow"
fi
printf "%4d spare macro entries" nmacs
        printf "%4d bytes left in macro library" nbytes
        printf "%4d lines left" nlines
        printf "%4d bytes for opcodes" nops
        printf "%4d bytes for names" nnames
end
fi
if r4 ne 0
exit$s
fi
        ret
        .end
