; COUNT - counts the number of common control chars in a file. ; - HT's (tabs), CR'S, LF's, and FF's. ; ; Copyright [c] Noel Alaska Systems Technology, 1983. VMAJOR = 1. ; version equates VMINOR = 0. VSUB = 0. VEDIT = 2. ; CHANGE EACH EDIT <----------- VWHO = 0. SEARCH SYS ; AMOS librarys SEARCH SYSSYM SEARCH TRM SEARCH MFN ; My library DSECT .=0 ; define impure area IDDB: BLKB D.DDB ; input file BLKW 3 ; extra words for DSKREN HTCNT: BLKW 1 ; # HT's found LFCNT: BLKW 1 ; # LF's found FFCNT: BLKW 1 ; # FF's found CRCNT: BLKW 1 ; # CR's found EVEN IMPURE = . .=0 PSECT BEGIN: PHDR -1,-1,PH$REE!PH$REU GETIMP IMPURE,A5 ; get memory BYP FSPEC IDDB(A5),LST ; spec input INIT IDDB(A5) ; get I/O buffer OPENI IDDB(A5) ; open input CLRW HTCNT(A5) CLRW LFCNT(A5) CLRW FFCNT(A5) CLRW CRCNT(A5) LOOP: CTRLC ABORT ; main process loop FILINB IDDB(A5) TST IDDB+D.SIZ(A5) BEQ DONE CMPB D1,#11 BNE 0$ INCW HTCNT(A5) BR LOOP 0$: CMPB D1,#12 BNE 1$ INCW LFCNT(A5) BR LOOP 1$: CMPB D1,#14 BNE 2$ INCW FFCNT(A5) BR LOOP 2$: CMPB D1,#15 BNE LOOP INCW CRCNT(A5) BR LOOP DONE: CRLF CRLF TYPE CLR D1 MOVW HTCNT(A5),D1 DCVT 0,2 TYPE < tabs, > MOVW CRCNT(A5),D1 DCVT 0,2 TYPE < CR's, > MOVW LFCNT(A5),D1 DCVT 0,2 TYPE < LF's, and > MOVW FFCNT(A5),D1 DCVT 0,2 TYPE < FF's in > PFILE IDDB(A5) CRLF ABORT: CRLF EXIT EVEN END