declare true literally '1', false literally '0', forever literally 'while true', cr literally '13', lf literally '10'; printchar: procedure(char) public; declare char byte; call mon1(2,char); end printchar; crlf: procedure public; call printchar(cr); call printchar(lf); end crlf; printn: procedure(a) public; declare a address; call mon1(9,a); end printn; print: procedure(a) public; declare a address; /* print the string starting at address a until the next dollar sign is encountered */ call crlf; call printn(a); end print; declare dcnt byte public; open: procedure(fcb) public; declare fcb address; dcnt = mon2(15,fcb); end open; close: procedure(fcb) public; declare fcb address; dcnt = mon2(16,fcb); end close; delete: procedure(fcb) public; declare fcb address; call mon1(19,fcb); end delete; diskread: procedure(fcb) byte public; declare fcb address; return mon2(20,fcb); end diskread; diskwrite: procedure(fcb) byte public; declare fcb address; return mon2(21,fcb); end diskwrite; make: procedure(fcb) public; declare fcb address; dcnt = mon2(22,fcb); end make; rename: procedure(fcb) public; declare fcb address; call mon1(23,fcb); end rename; setdma: procedure(dma) public; declare dma address; call mon1(26,dma); end setdma;