File: STEXAU.MA of Tape: Various/Decus/decus-2
(Source file text)
.TITLE L I N K - L I B R A R Y .SBTTL STEXAU:TEXTAUSGABE GEPACKTER TEXTE .INCLUDE SYS:MACLIB.MA /**** STEXAU **** /04.09.81 /31.5.83 PMO, 17.8.83 VH /(L,AC)=?,? /CALL STEXAU /TEXTART /TEXTFELD /TEXTADRESSE /(L,AC)=0,0 /************** /DIESES UNTERPROGRAMM WIRD VERWENDET VON DEN /MACRO'S PRINT / TEXAUS /WEITERE BESCHREIBUNGEN SIEHE UNTER DIESEN MACRO'S /PARAMETER: (HINTER DEM AUFRUF) /1. ANGABE DER TEXTART /2. ANGABE DES TEXTFELDES (CDF TEXTX) /3. ANGABE DER TEXTADRESSE /TEXTARTEN: / 0: 6BIT ASCII-TEXT / 1: WIE 0, ZUSAETZLICH SIND ZEICHEN GLEICHER ART ZUSAMMENGEFASST / + & FUER BELL / 2: AUSDRUCK WIE 1 ABER MIT SONDERZEICHEN / # UND $ / -1: ZEILENNUMMERN FUER AUSDRUCK / -2: ZEILENNUMMERN FUER EDITOR /4. PARAMETER ALS ALLGEMEINE VARIABLE / SPHSR = 0 : NUR AUF TTY / SPHSR = 1 : AUF TTY + LPT / SPHSR = -1 : NUR AUF LPT /AUFBAU DER SONDERZEICHEN "$"=IST, "#"=SOLL /DIE SONDERZEICHEN SIND ALS ALLVA'S ABGELEGT /IST COUNA0 1.TEIL / COUNB0 2.TEIL / COUNA1 1.TEIL / COUNB1 2.TEIL /SOLL VERGA0 1 TEIL / VERGB0 2.TEIL / VERGA1 1.TEIL / VERGB1 2.TEIL OPEN "STEXAU","F" .ENTRY STEXAU DEFMER TCCNT ,TECCR ,TCHSP ,TCYSP ,TECNR ,TEMP ,ZTEXT ,TCASPE STEXAU, OPNSUB RT:EXIT,TCASPE,FLDUMS,ZTEXT RESMER AC+TCHSP,TECNR /---------------- ZEICHEN AUS DEM TEXTDATENFELD HOLEN --------------------- FLDUMS: V /UMSCHALTEN AUF TEXT-DATENFELD TAD I ZTEXT CDF .FLD DCA TEMP TAD TEMP BSW AND (77) SNA JMP EXIT /TEXTENDE CALL ZEIVER /LINKES ZEICHEN VERARBEITEN TAD TEMP AND (77) SNA JMP EXIT CALL ZEIVER /RECHTES ZEICHEN VERARBEITEN ISZ ZTEXT JMP FLDUMS CALL FLDHO /FELD ERHOEHEN JMP FLDUMS /WIEDERHOLUNG /-------------------- RUECKSPRUNG ------------------------------------------ EXIT: V CAL JMP I STEXAU CLOSE "STEXAU" .SBTTL ZEIVER:EIN ZEICHEN VERARBEITEN OPEN "STX00","F",STEXAU ZEIVER, OPNSUB RT:ZEIEX,AC:TCYSP JMX AC+TCASPE,EQ:TEC21 /NORMALAUSDRUCK ? JMX AC+TCHSP,NE:GEPTEX /AUSDRUCK GEPACKTER TEXT, SONDERZEICHEN ? VERGLE AC+TCYSP,(36),EQ:TEC33 / GEPACKTER TEXT ? VERGLE AC+TCASPE,(2),NE:TEC20 TAD TCYSP TAD (^O200-"#) SNA JMP TEC32 /SONDERZEICHEN TAD ("#-"$) SNA CLA JMP TEC32 /SONDERZEICHEN TEC20: TAD TCYSP TAD (^O200-"&) SNA CLA JMP TEC7 /BELL TEC21: JMS TEC22 /NORMAL AUSDRUCK JMP ZEIEX TEC3: SPA TAD (100) TAD (237) TEC31: TYPECL /AUSDRUCK JMP ZEIEX TEC32: TAD TCASPE SPA CLA JMP TEC21 TEC33: TAD TCYSP /ZEICHENZAEHLER SETZEN FUER DCA TCZSP /GEPACKTER TEXT + SONDERZEICHEN INC TCHSP CALL ZEILNR JMP ZEIEX /---------------- AUSDRUCK GEPACKTER TEXT ODER SONDERZEICHEN -------------- GEPTEX: VERGLE AC+TCZSP,(36),NE:TEC81 / ^ ? CMA TAD TCHSP /GEPACKTER TEXT SNA CLA JMP TEC83 /ZEICHENSPEICHER = 1 JMP TEC82 TEC7: CAL CMA /BELL TAD TCASPE SPA CLA JMP TEC21 /AUSDRUCK & TAD (BELL) /BELL JMP TEC31 ZEIEX: V JMP I ZEIVER CLOSE "STX00" OPEN "STX01","F",STEXAU DEFMER TCZSP TEC82, TAD TCYSP /ZEICHENSPEICHER=2 TAD (-37) SPA TAD (100) TAD (237) /AUSDRUCKFORMATIERUNG TYPECL /AUSDRUCK ISZ TCCNT JMP TEC82 /ZEICHENANZAHL ERREICHT DCA TCHSP JMP ZEIEX /RUECKSPRUNG TEC83: TAD TCYSP /ZEICHENZAEHLER SETZEN CIA DCA TCCNT TEC84: INC TCHSP JMP ZEIEX /RUECKSPRUNG TEC81: DCA TCHSP VERGLE AC+TCZSP,(43),EQ:TEC85 / # ? TAD (COUNA0) /SETZEN IST SKP TEC85: TAD (VERGA0) /SETZEN SOLL DCA TCZSP TAD TCYSP /ZAEHLERNR. HOLEN AND (1) CLL RAL TAD TCZSP DCA TCZSP CDF COUNA0 TAD I TCZSP /ZAEHLERINHALT HOLEN, 1.TEIL VADCA ZAHIGH INC TCZSP CDF COUNA0 TAD I TCZSP /ZAEHLERINHALT HOLEN 2.TEIL VADCA ZALOW DECPRT 5 /ZAEHLERINHALT AUSDRUCK JMP ZEIEX /RUECKSPRUNG CLOSE "STX01" .SBTTL ZEILNR:ZEILEN-NUMMERN AUSGEBEN OPEN "STX02","F",STEXAU ZEILNR, OPNSUB RT:EXIT$ JMX AC+TECNR,EQ:TC222 JMX AC+TECCR,EQ:EXIT$ TC222: DCA TECCR TAD TCASPE IAC SNA JMP TC225 /TECART= -1 IAC SNA CLA JMP TC224 /TECART= -2 JMP EXIT$ /TECART = 0 ODER 1 TC225: JMX VA:SPHSR,EQ:TC224 /AUSDRUCK NUR AUF LPT ? TAD (-24) /TECART = -1 DCA TCCNT /LEERPLAETZE ZUM DRUCKER SENDEN TC225A: TYPE LPT,0,<" > ISZ TCCNT JMP TC225A TC224: TAD TECNR /TECART -2 ODER -1 DECPRT 2 /AUSDRUCK ZEILENNUMMER INC TECNR TYPECL <":> EXIT$: V /RUECKSPRUNG JMP I ZEILNR CLOSE "STX02" OPEN "STX03","F",STEXAU TEC22, OPNSUB VERGLE AC+TCASPE,(0),GT:TC220,EQ:TC220 CALL ZEILNR /TECARTSP NEGATIV TC220: TAD TCYSP TAD (-37) /ABFRAGE AUF CR SZA JMP TC223 CRLF TAD TCASPE SMA CLA JMP I TEC22 /TECART POSITIV, RUECKSPRUNG ISZ TECCR TAD TCASPE IAC SNA CLA JMP TECWT /TECART = -1 DCAADD TCCNT,(3)/TECART -2 TECWT: WAIT EXIT SKP TC223: INC TEC22,0 JMP I TEC22 CLOSE "STX03" .SBTTL FLDHO :FELD ERHOEHEN OPEN "STX04","F" FLDHO, OPNSUB RT:FLDHR$ VATAD FLDUMS TAD (10) BSW CLL RAR SZL TAD (200) CLL RAL BSW VADCA FLDUMS FLDHR$: V JMP I FLDHO CLOSE "STX04" ENDPR