Assembler

Über Bearbeiten - Assembler kann man den eingebauten Assembler aufrufen. Dieser übersetzt nicht nur die Mnemonics der Befehle in die zugehörigen Zahlencodes, sondern erlaubt auch die Benutzung von Variablen, Konstanten und das Setzen von Marken für die Sprungbefehle.
Ein Assemblerprogramm besteht aus 3 Blöcken: der Variablendeklaration, der Konstantendeklaration und dem eigentlichen Programm:

var: |
| variablenname1
| variablenname2
| ...
ende |
konst: |
| konstante1 = xxx //xxx ist...
| // Dies ist ein Kommentar, eingeleitet durch zwei /-Zeichen
| konstante2 = yyy
ende |
progr: |
| BF1 xxx
adr1: | BF2 variablenname1
| BF3 konstante1
| ...
| SPU adr1 //Sprung zur Marke adr1 (ohne Doppelpunkt!)
| ...
ende |

Die Blöcke werden durch die Schlüsselwörter var:, konst: und progr: eingeleitet und jeweils mit dem Schlüsselwort ende abgeschlossen. Die ersten beiden Blöcke können entfallen. Der Programmblock kann nicht entfallen und muss aus mindestens einem Befehl bestehen.
Für Variablen wird im RAM eine Speicherzelle reserviert; diese können auch direkt bei der Deklaration mit einem (Start-)wert belegt werden:

var: |
| variablenname1 = xxx
| ...
ende |

Beispiel: Das folgende Programm gibt bei jedem Betätigen der Taste STP eine "Zufallszahl" zwischen 1 und 6 aus. Für die nächste Zahl muss das Programm wieder mit RUN gestartet werden. Hier wird die Eigenschaft von MiniPC ausgenutzt, dass bei einer (äußeren) Unterbrechung durch STP der Inhalt von Zelle 0 zur Anzeige bringt; der Programmzähler steht danach auf der nächsten auszuführenden Anweisung des Programms.

| //Würfelprogramm, Start bei 000 oder 001
var: |
| vergleichszahl=7
| schritt
ende |
progr: |
| spu anfang //Start auch bei 000 möglich
anfang: | AKO 1
| ABS schritt
schleife: | ABS 0
| ADD schritt
| VGL vergleichszahl
| SPB anfang
| SPU schleife
ende |

Die Übersetzung des Assemblerprogramms in Maschinencode (Objektcode) erfolgt durch Betätigen der Assemblieren-Schaltfläche. Der Maschinencode wird nicht automatisch in das RAM von MiniPC übertragen; ist eine Übertragung gewünscht, kann dies durch die Übertragen-Schaltfläche erreicht werden.

Home