Befehlsformat

Help Contents DLX-Beispielprogramme Befehlsformat
INPUT-Beispiel Speicherzugriffs

Befehlsformat

Befehlsformat Immediate-Befehle

addi	Ziel, Quelle, Wert

addiert den Inhalt des Registers mit Wert und schreibt das Ergebnis ins Register Ziel

addi	r1,r0,1	; addiert 1 zum Inhalt von Register 0 (=0)
		; und schreibt das Ergebnis in Register 1
addi	r2,r0,8	; entsprechender Befehl,
		; schreibt den Wert 8 in R2
		; solange R0=0 ist (sollte immer so ein),
		; kann man damit Werte erzeugen

Befehlsformat Register-Register-Befehle

add	Ziel, Quelle1, Quelle 2

addiert die Inhalte der beiden Quellregister und schreibt das Ergebnis ins Register Ziel

add	r5,r1,r2	; r5 = 9
sub	r6,r2,r1	; r6 = 7
mult	r7,r5,r6	; r7 = 63
div	r8,r7,r6	; r8 = 9
and	r9,r5,r6	; r9 = 9 AND 7 = 1001 AND 0111 = 0001 = 1
or	r10,r5,r6	; r10 = 9 OR 7 = 1001 OR  0111 = 1111 = 15
XOR	r11,r5,r6	; Exkluxives oder
			; r11 = 9 XOR 7 = 1001 XOR  0111 = 1110 = 14
SLLI	r12,r6,2	; r12 = 0111 << 2 = 011100 = 28

Shift left, entspricht eine Multiplikation mit 2^Operand

Im Simulator kann man die Programme mit F7 Schritt für Schritt ausführen, mit F5 das komplette Programm ausführen. Schaut man sich das Programm im Simulator an, so erkennt man, dass einige Befehle länger brauchen, z.B. die Multiplikation und die Division.

INPUT-Beispiel Speicherzugriffs