Umwandlungen
Suche
Index
FAQ
Kontakt
Zurück

4. Umwandlungen
        Folgende Umwndlungen werden in diesem Kapitel beschrieben: ganze in reelle
        Zahlen, reelle Zahlen in Strings, Hex-Byte in ASCII-Code (jeweils beide
        Unwand ungsrichtungen).

        Die verwendeten ROM-Routinen und Speicherplaetze sind:

        Name    2001   3001   8001      Beschreibung
	------------------------------------------------------
        ADRFP   $DB1B  $DB55  $CD7F     Adresse in real-Zahl
        ASCII    ----  $E78D  $D73A     Hex-Byte in ASCII-Code
        FPINT   $DB6D  $DBA7  $CDD1     Real- in integer-Zahl
        FPSTR   $DCAF  $DCE9  $CF93     Real-Zahl in String
        HEXIT    ----  $E7E0  $D78D     ASCII-Code in Hex-Byte
        INTFP   $D278  $D26D  $C4BC     Integer- in real-Zahl
        STRFP   $D68D  $D68F  $C8EB     String in real-Zahl
        FAC1    $B0-B6 $5E-64 $5E-64    Floating Akkumulator #1
        STRADR  $71-72 $1F-20 $1F-20    Stringadresse (low, high)

4.1 Umwandlung String in reelle Zahl
        Ein ASCII-String mit Ziffern (ev. Dezimalpunkt und Exponent) wird in eine
        reelle Zahl umgewandelt. Die Anfangsadresse des Strings muss in STRADR stehen,
        die Laenge des Strings im A-Register. Das Ergebnis steht im FAC1.

        JSR STRFP

4.2 Umwandlung reelle Zahl in String
        Eine reelle Zahl in FAC1 wird in einen String umgewandelt. Der String beginnt
        bei Adresse $0100 (Vorsicht: Stack-Bereich!) und endet mit einem 00-Byte.

        JSR FPSTR

4.3 Umwandlung integer-real
        Eine vorzeichenlose ganze Zahl (Adresse, Bereich 0-65535) wird in eine reelle
        Zahl umgewandelt. Die ganze Zahl wird im Adressenformat (low Byte, high Byte)
        ab Byte 2 des FAC1 ($B1-B2/$5F-60/$5F-60) bereitgestellt. Das Ergebnis steht
        im FAC1.

          LDX #$98
          SEC
          JSR ADRFP

4.4 Umwandlung integer-real
        Eine vorzeichenbehaftete ganze Zahl (Bereich: -32767 bis +32767) wird
        in eine reelle Zahl umgewandelt.
        Die ganze Zahl wird im A-Register (high Byte) und Y-Register (low Byte)
        uebergeben.
        Das Ergebnis steht im FAC1.

        JSR INTFP


4.5 Umwandlung real-integer
        Eine reelle Zahl im FAC1 wird in eine ganze Zahl (Bereich -32767 bis +32767)
                 umgewandelt.
        Das Ergebnis steht ab Byte 3 des FAC1 ($B3-B4/$61-62/$61-62) im Format:
        high Byte - low Byte (!).

        JSR FPINT

4.6 Umwandlung Hex-Byte in ASCII-Code
        Umwandlung einer Hexadezimalzahl im A-Register in das aequivalente
                  ASCII-Zeichen im A-Register fuehrt folgende Routine durch
                  (nur 3001/8001):

        JSR ASCII

4.7 Umwandlung ASCII-Code in Hex-Byte
        Umwandlung eines ASCII-Zeichens im A-Register in die aequivalente
                  Hexadezimalzahl im A-Register fuehrt folgende Routine durch
                  (nur 3001/8001):

        JSR HEXIT

 

Letzte Änderung: 2019-01-04 10:05:50
  Rubrik:  CBM PET
Rubriken-Übersicht
 5 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!