; Cameron Kaiser 2020 ; Public domain. ; trim the last byte in a file off. SEARCH SYS SEARCH SYSSYM ; impure area .OFINI .OFDEF IN, D.DDB .OFDEF OUT, D.DDB .OFSIZ MEMSIZ PHDR -1,0,PH$REE!PH$REU GETIMP MEMSIZ,A5 ; allocate impure area BYP ; skip command line in A2 past blanks LIN ; eol? JNE GETOUT ; no NAWTY: ; yes, explain yourself, Lucy TYPECR TYPECR EXIT ; Jordan Peele segment GETOUT: FSPEC OUT(A5),LST INIT OUT(A5) BYP LIN JEQ NAWTY ; skip = CMPB (A2)+,#'= JNE NAWTY BYP LIN JEQ NAWTY FSPEC IN(A5),LST INIT IN(A5) LOOKUP IN(A5) BEQ DOIT TYPECR JMP NAWTY DOIT: OPENI IN(A5) LOOKUP OUT(A5) BNE 1$ DSKDEL OUT(A5) 1$: OPENO OUT(A5) CTRLC ENDOF ; create one character buffer FILINB IN(A5) TST IN+D.SIZ(A5) BEQ ENDOF MOV D1,D2 CLOOP: FILINB IN(A5) TST IN+D.SIZ(A5) BEQ ENDOF MOV D1,D3 MOV D2,D1 FILOTB OUT(A5) MOV D3,D2 BR CLOOP ENDOF: CLOSE IN(A5) CLOSE OUT(A5) EXIT END .