.TITLE SCRINS .IDENT /V36/ .ASECT .GLOBL CFLG .GLOBL CHKSCN .GLOBL CRTYPE .GLOBL CURABS .GLOBL CURCOL .GLOBL CURPOS .GLOBL DOTYPE .GLOBL ETYPE .GLOBL ET$CC .GLOBL ET$CKE .GLOBL ET$NCH .GLOBL GOFSEQ .GLOBL GONSEQ .GLOBL GRPTBL .GLOBL HTSIZ2 .GLOBL LINPTR .GLOBL M .GLOBL MRKFLG .GLOBL N .GLOBL OUTBLN .GLOBL OUTCHR .GLOBL OUTDNE .GLOBL P .GLOBL PRECOL .GLOBL RWSIZE .GLOBL SCRDNE .GLOBL SCROUT .GLOBL SCRSAV .GLOBL SCRUPD .GLOBL SI.EXA .GLOBL SI.EXM .GLOBL SI.EXT .GLOBL SI.INS .GLOBL SI.NST .GLOBL SI.NUP .GLOBL SI.OK .GLOBL SI.OKS .GLOBL SI.UC .GLOBL TLISTN .GLOBL TOPDOT .GLOBL TXSTOR .GLOBL TYPEBF .GLOBL UPPERC .GLOBL ZZ .GLOBL .III.I .PSECT .PSECT SCRINS,OVR,RO,GBL .GLOBL SI$RET .PSECT SCRINS MOV ETYPE(R5),-(SP) CLR N(R5) BIT R0,#SI.EXM BEQ E00032 INC CFLG(R5) BNE E00040 MOV M(R5),N(R5) E00032: INC CFLG(R5) BEQ E00044 E00040: CLR M(R5) E00044: TST M(R5) BMI E00040 CLR CFLG(R5) MOV M(R5),OUTCHR+RWSIZE(R5) CLR -(SP) MOVB R0,(SP) E00070: BIS #ET$CC!ET$CKE!ET$NCH,ETYPE(R5) TSTB (SP) BMI E00116 BIT (SP),#SI.NUP!SI.OK BEQ E00116 BIC #ET$CKE,ETYPE(R5) E00116: CALL TLISTN SI$RET: TST ETYPE(R5) BPL E00170 TST R0 BPL E00174 TSTB (SP) BPL E00306 E00140: BIC #^CSI.INS,(SP) MOVB R0,(SP) MOV (SP)+,R0 BIC #^C,(SP) BIC #ET$CC!ET$CKE!ET$NCH,ETYPE(R5) BIS (SP)+,ETYPE(R5) RETURN E00170: MOV #3,R0 E00174: BIT (SP),#SI.EXA BNE E00140 CMPB R0,#177 BCC E00140 CMPB R0,#40 BCC E00232 CMPB R0,#11 BNE E00140 BIT (SP),#SI.EXT BNE E00140 E00232: BIT (SP),#SI.EXM BEQ E00254 CMPB R0,N(R5) BEQ E00140 CMPB R0,N+1(R5) BEQ E00140 E00254: BIT (SP),#SI.UC BEQ E00266 CALL UPPERC E00266: BIS #SI.INS!SI.OK,(SP) DEC (SP) CALL E00414 DEC OUTCHR+RWSIZE(R5) BNE E00070 E00306: BIT (SP),#SI.NUP!SI.OK BNE E00324 CALL E00342 BIS #SI.OKS!SI.OK,(SP) E00324: MOV M(R5),OUTCHR+RWSIZE(R5) TST ETYPE(R5) BMI E00070 BR E00170 E00342: BIT 2(SP),#SI.OKS BEQ E00404 JSR R0,SCRSAV MOV TOPDOT+RWSIZE(R5),R0 DEC R0 MOV R0,LINPTR+RWSIZE(R5) MOV P(R5),-(SP) MOV #SCROUT,-(SP) JMP CHKSCN E00404: MOV #177777,R0 JMP SCRUPD E00414: MOV SP,OUTBLN+RWSIZE(R5) JSR R0,SCRSAV CALL .III.I MOV OUTBLN+RWSIZE(R5),R4 TST (R4)+ BIT (R4),#SI.OKS BEQ E00710 MOV CURPOS+RWSIZE(R5),R1 MOVB (R1)+,R0 CMP R0,#11 BEQ E00710 SUB TXSTOR(R5),R1 CMP R1,P(R5) BNE E00710 CMP R1,ZZ(R5) BEQ E00520 ADD TXSTOR(R5),R1 CMPB (R1)+,#15 BNE E00710 CMPB (R1)+,#12 BNE E00710 E00520: MOV CURABS+RWSIZE(R5),R1 BEQ E00710 MOVB (R1)+,R2 CMPB (R1),#40 BNE E00710 CMP CURCOL+RWSIZE(R5),HTSIZ2+RWSIZE(R5) BCC E00710 BIT (R4),#SI.NUP BNE E00710 TST OUTDNE(R5) BNE E00710 TST MRKFLG+RWSIZE(R5) BNE E00710 INC (R4) MOVB R2,(R1) MOVB R0,-(R1) INC CURABS+RWSIZE(R5) INC CURPOS+RWSIZE(R5) CALL TYPEBF INC PRECOL+RWSIZE(R5) INC CURCOL+RWSIZE(R5) CMP R2,#40 BCC E00676 MOV CRTYPE(R5),R3 ADD GRPTBL(R3),R2 MOVB -(R2),R0 MOV #GONSEQ,R3 CALL DOTYPE CALL TYPEBF MOV #GOFSEQ,R3 CALL DOTYPE MOV #10,R0 CALL TYPEBF E00676: CALL SCRDNE MOV M(R5),OUTCHR+RWSIZE(R5) E00710: RETURN .END