NRM (TSB)

Aus C64-Wiki
Wechseln zu: Navigation, Suche
NRM (TSB)
Format: wert = NRM(<string>)
Parameter
string: Hex- oder Binärstring
Einordnung
Typ: Stringfunktion
Kontext: Zahlen
Aufgabe: Umwandeln einer Hex- oder Binärzahl in einen Dezimalwert
Abkürzung: nR
Verwandte Befehle
$ - % - $$ (TSB) - %% (TSB)


Dieser Artikel beschreibt das Schlüsselwort NRM (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet NRM.

1. Syntax (Funktion)[Bearbeiten]

Typ: Stringfunktion 
Syntax: wert = NRM(<string>) PRINT NRM(<string>)

Mithilfe dieser Stringfunktion lassen sich zwei- oder vierstellige Hexzahlen bzw. acht- oder 16-stellige Binärzahlen in Dezimalzahlen umwandeln (Länge ist zwingend vorgeschrieben). Die Strings dürfen dabei nur die jeweils zulässigen Ziffern enthalten (0..9 und a..f bei Hexzahlen und 0 und 1 bei Binärzahlen). Innerhalb der Strings dürfen die Zeichen "%" für "binär" oder "$" für "hex" vorangestellt werden. Ein String darf auch als Konstante - z.B. PRINT NRM("$c000") - an die Funktion übergeben werden.

Kommt im String ein Zeichen vor, das nicht zur jeweiligen Zahlenbasis passt, führt dies zur Fehlermeldung ?NOT HEX CHAR ERROR bzw. ?NOT BINARY CHAR ERROR.

Beispiel: 

10 a$="123": a$=RIGHT$("0000"+a$,4)
20 PRINT "Hex $"a$;: b$=STR$(NRM(a$)): PRINT " ist dezimal "+b$

Anzeige: Hex $0123 ist dezimal 291

(die Hexzahl $123 wird zunächst vierstellig gemacht und danach in einen
Dezimal-String verwandelt, hier um zu zeigen, dass sogar das funktioniert)

2. Syntax (Anweisung)[Bearbeiten]

NRM (TSB)
Format: NRM
Parameter
keine
Einordnung
Typ: Anweisung
Kontext: Erweiterung des TSB
Aufgabe: Rekonstruieren nach INST oder MEM
Abkürzung: nR
Verwandte Befehle
INST - MEM
Typ: Anweisung
Syntax: NRM

NRM rekonstruiert nach Anwendung der Befehle INST oder MEM die dadurch deaktivierten Befehle RENUMBER und PLACE. Dazu muss auf der Diskette im aktuellen Laufwerk die Datei "tsb.mem" zu finden sein. Ist sie nicht da, gibt es einen ?FILE NOT FOUND ERROR und alles bleibt, wie es ist.

Beispiel: 

INST
... arbeiten im Direktmodus,

z.B.:  @$ (Directory)
oder:  @  (Fehlerkanal auslesen)
       ↑name (Programm laden)
       ←name (Programm speichern)
und:   NRM (DOS Wedge abschalten)

(installiert DOS Wedge und schaltet es wieder ab)