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)
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
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
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
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
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
Umwandlung einer Hexadezimalzahl im A-Register in das aequivalente
ASCII-Zeichen im A-Register fuehrt folgende Routine durch
(nur 3001/8001):
JSR ASCII
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