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