MOVAF

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Anmerkung: Dieser Artikel beschreibt die MOVAF-Routine zur Übertragung von Fließkommawerten im BASIC-ROM.

Name: MOVAF
Beschreibung: Inhalt des Fließkommaregisters ARG in das Fließkommaregister FAC kopieren
Einsprungpunkt: $BBFC / 48124
Übergebene Argumente:
Rückgabe-Werte:
Akkumulator: Exponent von FAC und ARG
X-Register: 0
Y-Register: unverändert
Zero-Flag: gesetzt
Negative-Flag: gelöscht

MOVAF[1] — manchmal auch als ARGFAC[2] oder FAC2/1[3] bezeichnet — kopiert den Inhalt des Fließkommaregisters ARG in das Fließkommaregister FAC und setzt dessen Rundungsbyte auf 0.

Laufzeitverhalten[Bearbeiten | Quelltext bearbeiten]

Die Laufzeit von MOVAF beträgt unabhängig vom Inhalt von ARG immer 87 Systemtakte.

Verwandte Routinen[Bearbeiten | Quelltext bearbeiten]

Name Adresse
dez.
Adresse
hex.
Beschreibung
CONUPK 47756 BA8C ARG mit Zahl aus dem Speicher füllen (A=Adr.LB, Y=Adr.HB). Vergleicht danach noch als Vorbereitung für nachfolgende Operationen die Vorzeichen von ARG und FAC und schreibt das Ergebnis nach Adresse $6F ($00: Vorzeichen gleich, $80: Vorzeichen ungleich), und lädt den Exponenten von FAC nach A (d.h. setzt Zero Flag genau dann, wenn FAC gleich null). Die Routinen FADDT, FDIVT, FMULTT und FPWRT setzen diese Vorbereitung voraus.
MOVAF 48124 BBFC Zahl in ARG nach FAC kopieren
MOVFA 48140 BC0C Zahl in FAC nach ARG kopieren
MOVFM 48034 BBA2 FAC mit Zahl aus dem Speicher füllen (A=Adr.LB, Y=Adr.HB)
MOVMF 48084 BBD4 Zahl aus FAC im Speicher ablegen (X=Adr.LB, Y=Adr.HB)

Weblinks[Bearbeiten | Quelltext bearbeiten]

Quellen[Bearbeiten | Quelltext bearbeiten]