Maschinensprache i8086/ Einfache Befehle
Theorie:
Einleitung – Maschinensprache –
Assembler – Zahlensysteme –
RAM-Adressen – BWS – Debug –
CPU-Register – Einfache Befehle – Stringbefehle – Interrupts –
I/O-Ports
Versuch:
BWS1 – BWS2 –
Hallo Welt – Bootsektor – MBR
Nützlich:
Befehlsliste – PAUSE – Filter
Analyse:
Bootloader
Der vermutlich wichtigste und häufigste Befehl ist der MOV-Befehl. Das mag etwas verblüffend sein, denn die meisten Menschen glauben vermutlich, dass ein Computer vor allem mit Rechenbefehlen beschäftigt ist. Das stimmt aber nicht.
MOV ist die Abkürzung von Move, das bedeutet „Bewegen“ oder „Transportieren“. Der Befehl hat die folgende Syntax:
mov op1, op2
Mit dem mov
-Befehl wird der zweite Operand in den ersten Operanden kopiert. Der erste Operand wird auch als Zieloperand, der zweite als Quelloperand bezeichnet. Beide Operanden müssen die gleiche Größe haben. Wenn der erste Operand beispielsweise die Größe von zwei Byte besitzt, muss auch der zweite Operand die Größe von zwei Byte besitzen.
- Ausnahme 1
- Es ist nicht erlaubt, als Operanden das IP-Register zu benutzen.
- Ausnahme 2
- Es ist nicht erlaubt, eine Speicherstelle in eine andere Speicherstelle zu kopieren. Diese Regel gilt für alle Assemblerbefehle mit zwei Operanden: Es dürfen niemals beide Operanden eine Speicherstelle ansprechen. Beim
mov
-Befehl hat dies zur Folge, dass, wenn eine Speicherstelle in eine zweite Speicherstelle kopiert werden soll, dies über ein Register erfolgen muss. Beispielsweise wird mit den zwei folgenden Befehlen der Inhalt von der Speicherstelle 0110h in die Speicherstelle 0112h kopiert:
mov ax, [0110] mov [0112], ax
Der xchg
-Befehl (exchange) hat die gleiche Syntax wie der mov
-Befehl:
xchg op1, op2
Wie sein Name bereits andeutet, vertauscht er den ersten und den zweiten Operanden. Die Operanden können allgemeine Register oder ein Register und eine Speicherstelle sein.
Lesen Sie die Kapitel eines anderen Buches, um weitere Befehle kennen zu lernen: