Next: Implementierungsspezifikation
Up: Spezifikation
Previous: Zielarchitektur
Ein Befehl gliedert sich in 8 Bit Opcode und 8 Bit Operandencode:
Opcode |
|
RA |
|
RB |
8 Bit |
|
3 Bit |
|
3 Bit |
Allgemein gibt es als Addressierungsarten für den MOVE, ADD und SUB Befehl folgende
Möglichkeiten:
2|cAddressierung |
3|c|Opcodes für |
|
|
|
source |
destination |
MOVE |
ADD |
SUB |
imm |
RB |
00h |
08h |
10h |
[addr] |
RB |
01h |
09h |
11h |
[RA] |
RB |
02h |
0Ah |
12h |
disp[RA] |
RB |
03h |
0Bh |
13h |
RA |
RB |
04h |
0Ch |
14h |
RA |
[addr] |
05h |
0Dh |
15h |
RA |
[RB] |
06h |
0Eh |
16h |
RA |
disp[RB] |
07 |
0Fh |
17h |
Der JUMPNC Befehl unterstützt nur die direkte Addressierung; der Opcode
dafür ist 8Dh.
Anmerkungen zu den einzelnen Befehlen:
- [MOVE src,dst] Bewegt den Inhalt von src nach dst. Dieser Befehl
verändert keine Flags.
- [ADD src,dst] Addiert den Inhalt von src auf dst. Dieser Befehl
setzt die Flags entsprechend dem Ergebnis.
- [SUB src,dst] Subtrahiert den Inhalt von src von dst. Dieser Befehl
setzt die Flags entsprechend dem Ergebnis.
- [JUMPNC [addr] ] Springt zur angegebenen Adresse, wenn das Carry-Flag nicht
gesetzt ist. D.h. Befehlszähler = addr.
Next: Implementierungsspezifikation
Up: Spezifikation
Previous: Zielarchitektur
Ingo Rohloff
11/13/1997