Vorheriges Kapitel (Prozessoraufbau) | Nächstes Kapitel (Variablen und eingebaute Datentypen) |
Wie Sie sicherlich wissen, handelt es sich bei unserem normalen
Dezimalsystem um ein sogenanntes Stellenwertsystem. Auch wenn wir darüber
nicht nachdenken, berechnet sich der Wert der Zahl 4512 aus folgender
Rechnung:
4*10^3 + 5*10^2 + 1*10^1 + 2*10^0 = 4000+500+10+2 = 4512
Standardmäßig ist TASM auf das Dezimalsystem eingestellt, d. h. alle Ihre
Zahlenangaben beruhen auf der Basis 10.
Unter TASM können Sie von der Assembliererseite aus noch mit drei weiteren
Basen arbeiten: Basis 2 (binär), Basis 8 (oktal) und Basis 16 (hexadezimal /
hexadekadisch / sedezimal).
Um dem Assemblierer mitzuteilen, daß Sie einen bestimmten Zahlenwert nicht
dezimal interpretiert haben möchten, müssen Sie der Zahl einen das
Zahlensystem kennzeichnenden Buchstaben anhängen. Im Dezimalsystem ist dies
das d (in der Standardeinstellung unnötig), im Binärsystem das b, im
Oktalsystem das o und im Hexadezimalsystem das h. Soll die Zahl 12 also ein
hexadezimaler Wert sein, dann muß sie 12h
geschrieben
werden.
Nun läßt sich die Standardeinstellung (Basis 10) natürlich noch auf eine der
anderen Zahlenbasen einstellen. Dies wird durch die Anweisung RADIX
n
erreicht, wobei n eine der vier Basen 10, 2, 8 oder 16 ist.
Allerdings verbirgt sich hier ein kleiner Stolperstein, der bei der
Fehlersuche vielleicht überhaupt nicht ins Auge fällt:
Wenn mittels RADIX 16
die hexadezimale Interpretation eingestellt
und dann an einer Stelle der Wert 1D verwendet wird, im guten Glauben, die
(dezimale) Zahl 30 zu verwenden, dann wird dieser Wert jedoch aufgrund des
nachgestellten D als Dezimalzahl interpretiert, also 1.
Es ist zu beachten, daß Zahlen vom Assemblierer nur dann als solche erkannt werden, wenn sie mit einer Ziffer beginnen. Die hexadezimale Zahl FFFFh wird also als Symbol (Variable, Sprungmarke, Prozedurname etc.) interpretiert und führt, wenn es nicht aufgefunden wird, zu einer Fehlermeldung. Um die Interpretation als Zahl durchzusetzen, muß eine 0 (Null) vorangestellt werden: 0FFFFh.
Vorheriges Kapitel (Prozessoraufbau) | Nach oben | Nächstes Kapitel (Variablen und eingebaute Datentypen) |
Zum Inhaltsverzeichnis | ||
Zur Startseite |