Read Decimal, Hex and Binary values#

from BiboAssembler Tooldisk 1



00010          .LI OFF
00020 *
00030 *
00040 ------------------------------
00050 * Eingaberoutinen fuer       *
00060 * Dezimalzahlen,             *
00070 * Hexadezimalzahlen und      *
00080 * Binaerzahlen               *
00090 * Ohne Korrekturmoeglichkeit *
00100 *                            *
00110 * ACHTUNG: Routinen benoeti- *
00120 *          gen die Ein- und  *
00130 *          Ausgaberoutinen   *
00140 *          aus dem File      *
00150 *          INOUT.INC         *
00160 *          Sollten diese     *
00170 *          nicht schon an an-*
00180 *          derer Stelle      *
00190 *          stehen muessen Sie*
00200 *          sie hier mit ein- *
00210 *          binden.           *
00220 ------------------------------
00230 *
00240 *
00250 *
00260 *
00270 *
00280 GETDEZ   LDA #0        Wert
00290          STA WERT      loeschen
00300          STA WERT+1
00310 .1       JSR GETKEY    Taste holen
00320          CMP #$9B      Nur RETURN
00330          BEQ OUT       und
00340          CMP #'0       Ziffern
00350          BCC .1        von 0-9
00360          CMP #'9+1     zulassen
00370          BCS .1
00380          PHA
00390          JSR PUTCHAR   ausgeben
00400          PLA
00410          AND #$F       Nur untere
00420          PHA           4 Bits werden gebraucht
00430 *
00440          LDA WERT      Wert
00450          STA HOLD      wird
00460          LDA WERT+1    mit 10
00470          STA HOLD+1    multi-
00480          ASL HOLD      pliziert
00490          ROL HOLD+1    plus
00500          ASL HOLD      Ziffern
00510          ROL HOLD+1    wert
00520          CLC
00530          LDA HOLD
00540          ADC WERT
00550          STA WERT
00560          LDA HOLD+1
00570          ADC WERT+1
00580          STA WERT+1
00590          ASL WERT
00600          ROL WERT+1
00610          CLC
00620          PLA
00630          ADC WERT
00640          STA WERT
00650          BCC .2
00660          INC WERT+1
00670 .2       JMP .1        Zurueck in Schleife
00680 *
00690 OUT      JMP PUTCHAR   Ausstieg mit RETURN
00700 *
00710 WERT     .HX 0000      Hilfsregister
00720 HOLD     .HX 0000
00730 *
00740 ------------------------------
00750 GETHEX   LDA #0        Wert
00760          STA WERT      loeschen
00770          STA WERT+1
00780          LDA #3        Nur 4
00790          STA HOLD      Zeichen
00800 *
00810 .1       JSR GETKEY    Taste holen
00820          CMP #$9B      Nur
00830          BEQ OUT       RETURN
00840          CMP #'0       sowie
00850          BCC .1
00860          CMP #'G       0-9
00870          BCS .1        und
00880          CMP #'9+1     A-F
00890          BCC .2
00900          CMP #'A       zulassen
00910          BCC .1
00920 *
00930          PHA
00940          JSR PUTCHAR   Ausgeben
00950          PLA
00960 .2       CMP #'9+1     Wert
00970          BCC .3        auf 0-15
00980          SEC           umrechnen
00990          SBC #7
01000 .3       SEC
01010          SBC #$30
01020          LDX #3        Zahl*16
01030 .4       ASL WERT
01040          ROL WERT+1
01050          DEX
01060          BPL .4
01070          ORA WERT      Wert+Zahl
01080          STA WERT      Zahl
01090          DEC HOLD      naechtes
01100          BPL .1        Zeichen
01110 OUT2     LDA #$9B      Ausstieg mit
01120          JMP OUT       Return
01130 *
01140 ------------------------------
01150 *
01160 GETBIN   LDA #0        Zahl
01170          STA WERT      loeschen
01180          STA WERT+1
01190          LDA #7        8 Zeichen
01200          STA HOLD
01210 *
01220 .1       JSR GETKEY    Taste holen
01230          CMP #$9B      Nur
01240          BEQ OUT2      RETURN
01250          CMP #'0       und
01260          BCC .1        Ziffern
01270          CMP #'2       0 und 1
01280          BCS .1        zulassen
01290          PHA
01300          JSR PUTCHAR   Ausgeben
01310          PLA
01320          AND #1        Nur ein
01330          LSR           Bit wird
01340          ROL WERT      gebraucht
01350          DEC HOLD      naechtes Zeichen
01360          BPL .1
01370          JMP OUT2      Ausstieg

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 02-Jan-2011 13:28 by Carsten Strotmann