Trailing-Edge
-
PDP-10 Archives
-
bb-kl11c-bm_tops20_v6_1_atpch1_16
-
autopatch/nft.c12
There are 3 other files named nft.c12 in the archive. Click here to see a list.
REP 37/1 ;12C1
NFTEDT==105 ;EDIT LEVEL
WIT
NFTEDT==106 ;EDIT LEVEL
INS 160/3 ;12C2
0106 Rewrite PARSWS for parsing switches after the output filespec
such that spaces are allowed between the two.
REP 44/10 ;12C3
$CALL PARSWS ;LOOK FOR OPTIONAL SWITCHES
JUMPF [MOVX S1,TXT(?Illegal switch:) ;[0057]Give error messages...
$CALL TSTCOL ;[0057]...for bad switches
WIT
$CALL PARSWT ;[0106]Look for optional switches
JUMPF [CAIN S2,NPXNSW ;[0106]Did that parse a switch?
SKIPA S1,[TXT(?Not a switch - does not begin with slash)] ;[0106]
MOVX S1,TXT(?Illegal switch:) ;[0057]Give error messages...
$CALL TSTCOL ;[0057]...for bad switches
CAIN S2,NPXNSW ;[0106]Use PSOUT for Not a switch message
PSOUT ;[0106]
CAIE S2,NPXNSW ;[0106]Use TYPATM to print illegal switch
REP 52/10 ;12C4
CONFRM
WIT
;[0106] CONFRM ;[0106]Confirm now done in PARSWT
INS 33/31 ;12C5
;[0106] PARSWT Routine to parse switches
PARSWT: SETZM FILATT ;[0106]Clear file format switches
MOVEM S2,CMDFDB+.CMHLP ;[0106]Save help pointer
MOVE S1,SWTFD2 ;[0106]Point to switch FDB
MOVEM S1,CMDFDB ;[0106]Store in private FDB
MOVE S1,SWTFD2+.CMDAT ;[0106]Get table address
MOVEM S1,CMDFDB+.CMDAT ;[0106]Save for parse
PARST1: MOVEI S1,CMDFDB ;[0106]Point to our FDB
$CALL RFLDE ;[0106]Parse a field
JUMPF .RETF ;[0106]Return false if no parse
CAIN T2,.CMCFM ;[0106]Was it a switch?
$RETT ;[0106]No... return
HRRZ S2,0(S2) ;[0106]Yes... get processor address
PUSHJ P,0(S2) ;[0106]Call the processor
JRST PARST1 ;[0106]Back for more switches
SWTFD2: FLD(.CMSWI,CM%FNC)+CM%HPP+REMFSW ;[0106]PARSE SWITCHES
FILSWS ;[0106]FILE SWITCH TABLE
SUM 116191