hält die 8 niederwertigen Bit des Offsets der Zeichenkette im GW-
BASIC-Datenfeld, die acht höchstwertigen Bit sind im dritten Byte
gespeichert.
Wenn Ihr Unterprogramm den Inhalt einer Zeichenkettenvariablen
beeinflussen soll, ist es zweckmäßig, sich zu vergewissern, daß GW-
BASIC zunächst die Zeichenkettenvariable in seinen eigenen Arbeitsbe
reich kopiert, dadurch daß es eine Operation an der Zeichenkette aus
fuhrt. Zum Beispiel, wenn Ihr Unterprogramm einen Wert nach A$
zurückgeben soll, ist der Befehl
10 A$="Ist die Zeichenkette lang genug?"+""
zu erteilen.
Wenn Sie diesen Befehl nicht verwenden, zeigt der Zeichenketten-
Descriptor auf das Erscheinen einer Zeichenkette in Ihrem Programm
text. Dies könnte zu einer ungewollten Veränderung des Programms füh
ren.
Handelt es sich beim Parameter um eine Zahl, so gelangt der Wert in den
8-Bit Gleitkomma-Akkumulator im GW-BASIC Datenfeld. Das BX-
Register zeigt dann auf das fünfte Byte des FAC.
• Wenn die Zahl ganzzahlig ist, enthalten das fünfte und sechste Byte
der FAC die niederwertigen bzw. höchstwertigen Bit der Zahl.
• Handelt es sich um eine Zahl mit einfacher Genauigkeit, dann ent
hält das letzte Byte den Exponenten -128. Die fünften, sechsten und
siebenten Byte enthalten die Mantisse: das am wenigsten wichtige
Bit ist das Bit 0 vom fünften Byte, das höchstwertige Bit ist Bit 6 vom
siebenten Byte. Bit 7 vom siebenten Byte weist eine positive Zahl
mit 0 und eine negative Zahl mit 1 auf. Die Mantisse ist mit einer füh
renden 1 ausgestattet und der Exponent wird als ganze Zahl betrach
tet.
• Die Struktur des FAC für eine Zahl mit doppelter Genauigkeit ist die
gleiche wie die für eine Zahl mit einfacher Genauigkeit mit dem
Unterschied, daß die Mantisse alle ersten sieben Byte (Bit 0 des
ersten Byte ist niederwertigste Bit) belegt.
Der Wert, der durch den Aufruf der USR-Funktion zurückgeben wird, ist
im BX-Register enthalten.
GW-BASIC
AUSFÜHRUNG VON MASCHINENCODE-PROGRAMMEN
6-7