.TITLE GTNXT .IDENT /V7.00/ ;+ ; ; *** GT.NXT GET NEXT NON-BLANK CHARACTER FROM BUFFER. ; ; INPUT: ; R0 INPUT BUFFER POINTER ; ; OUTPUT: ; R0 POINTS TO NEXT CHARACTER IN BUFFER ; R2 FIRST NON-BLANK CHARACTER FOUND ; CC NO END OF LINE FOUND ; CS END OF LINE FOUND (R2=CHARACTER) ; ;- GT.NXT::CLR R1 ; SHOW NO SPACES FOUND YET 5$: MOVB (R0)+,R2 ; GET NEXT CHARACTER FROM BUFFER CMPB R2,#40 ; IS IT A SPACE? BNE 10$ ; IF NE NO INC R1 ; INCREMENT SPACE COUNT BR 5$ ; LOOP UNTIL SPACES EXHAUSTED 10$: CMPB R2,#15 ; IS IT CARRIAGE RETURN? BEQ 20$ ; IF EQ YES CMPB R2,#33 ; NO, IS IT AN ESCAPE CHARACTER? BEQ 20$ ; IF EQ YES TST R2 ; NULL BYTE? BEQ 20$ ; IF EQ YES CLC ; NO, SHOW NO END OF LINE FOUND BR 30$ ; 20$: SEC ; SHOW END OF LINE FOUND 30$: RETURN ; .END