File: SDECAU.MA of Tape: Various/Decus/decus-2
(Source file text)
.TITLE L I N K - L I B R A R Y .SBTTL SDECAU:DEZIMALE ZAHLENEINGABE .INCLUDE SYS:MACLIB.MA /****SDECAU**** /04.09.81 PMO,15.8.83 VH /(L,AC)=?,? /CALL SDECAU /-(EINGABELAENGE+1) /ADRESSE BEI 2.RUBOUT /************** /DAS UNTERPROGRAMM SDECAU WIRD VOM MACRO DECAUF VERWENDET /ES DIENT ZUR AUFNAHME UND UMWANDLUNG VON UEBER DIE /TASTATUR DES TTY EINGEGEBEN DEZIMALZAHLEN IN OKTALZAHLEN. /DURCH EINGABE EINES RUBOUT WIRD DIE GESAMTE EINGABE /GELOESCHT. /EIN ZWEITES RUBOUT VERANLASST EINEN RUECKSPRUNG /DER NORMALE RUECKSPRUNG ERFOLGT DURCH EINGABE EINES /ZEICHENS (KEINE ZIFFER) ODER ERREICHEN DER MAX. LAENGE /BEI ERFOLGTER EINGABE IST SPMARK > 0 /IM SPTTY STEHT DAS ZULETZT EINGEGEBENE ZEICHEN /DAS ERGEBNIS STEHT IN ZAHIGH UND ZALOW /DAS ERSTE ZEICHEN MUSS BEI EINTRITT SCHON IN SPTTY STEHEN. /VOR AUFRUF VON SDECAU MUSS SPRUB = 0 GESETZT WERDEN UND /LIESTT AUFGERUFEN WERDEN(WENN 1.ZEICHEN NOCH NICHT IN SPTTY) /DAS ECHO KANN UEBER TTY ODER TTY+LPT ERFOLGEN / SPHSR=0 TTY / SPHSR=1 TTY+LPT /ZAHLENBEREICH: 0...99999 OPEN "SDECAU","F" .ENTRY SDECAU DEFMER SPZI2$ ,SPZI1$ ,CNTR1$ ,PNTR1$ ,TEMP2$ ,TEMP1$ SDECAU, OPNSUB RT:DECAR$,TEMP2$ DECA0$: TAD TEMP2$ RESMER AC+CNTR1$,SPZI1$,SPZI2$,VA:SPMARK VATAD SPTTY DECA1$: TAD (-RUB) SNA CLA JMP DECA2$ VATAD SPTTY TAD (-"0) SPA JMP DECA4$-1 TAD ("0-"9) SMA SZA CLA JMP DECA4$-1 DCAADD TEMP1$,AC+SPZI1$ DCAADD PNTR1$,AC+SPZI2$ JMS DECA6$ JMS DECA6$ DCAADD SPZI1$,AC+SPZI1$,TEMP1$ RAL DCAADD SPZI2$,AC+SPZI2$,PNTR1$ JMS DECA6$ VATAD SPTTY AND (17) TAD SPZI1$ DCA SPZI1$ SZL INC SPZI2$ VAINC SPMARK ISZ CNTR1$ JMP DECA5$ DECA2$: JMX VA:SPRUB,EQ:DECA3$ RUBOUT JMP DECA2$ DECA3$: VATAD SPTTY TAD (-RUB) SNA CLA JMP DECA7$ LIESTT CAL JMP DECA0$ INC SDECAU,0 DECA4$: CLA TAD SPZI1$ VADCA ZALOW TAD SPZI2$ VADCA ZAHIGH DECAR$: V /RUECKSPRUNG JMP I SDECAU DECA5$: LIESTT JMP DECA1$ /------------------------------------------------------------------------ DECA6$: OPNSUB TAD SPZI1$ CLL RAL DCA SPZI1$ TAD SPZI2$ RAL DCA SPZI2$ JMP I DECA6$ /---------------------------------------------------------------------- DECA7$: DCA SPZI1$ DCA SPZI2$ VADCA SPMARK JMP DECA4$ CLOSE "SDECAU" ENDPR