;
LC.MAR Line/Record count
.TITLE RecordCount
.PSECT DATA,LONG,WRT,NOEXE
InPrompt: .ASCID /Filename: /
InMax=255
InFile_Name: .BLKB InMax
InFile_Desc:
InFile_LEN: .WORD InMax
InFile_TYP: .WORD ^X010E
.ADDRESS InFile_Name
MaxRec=16384
InRec: .BLKB MaxRec
InRec_Desc: .LONG 0
.ADDRESS InRec
.ALIGN LONG
InFAB: $FAB FAC=GET
InRAB: $RAB FAB=InFAB,-
USZ=MaxRec,-
UBF=InRec
.PSECT CODE,EXE,NOWRT
.ENTRY Start,^M
; CALLS #0,G^LIB$INIT_TIMER
PUSHAW InFile_LEN
PUSHAL InPrompt
PUSHAL InFile_Desc
CALLS #3,G^LIB$GET_FOREIGN
MOVB InFile_Desc,InFAB+FAB$B_FNS
MOVAL InFile_Name,InFAB+FAB$L_FNA
$OPEN FAB=InFAB
BLBC R0, Bad
$CONNECT RAB=InRAB
BLBC R0, Bad
CLRL R7
Loop:
; $GET RAB=InRAB
$FIND RAB=InRAB
BLBC R0,Check
INCL R7
BRB LOOP
Check: CMPL R0,#RMS$_EOF
BNEQ Bad
$DISCONNECT RAB=InRAB
$CLOSE FAB=InFAB
; CALLS #0,G^LIB$SHOW_TIMER
MULL3 #2,R7,R0
INCL R0
RET
Bad: PUSHL R0
CALLS #1,G^LIB$STOP
.END Start