Kapitel 3.2

3.2. Der Maschinenbefehlssatz

Syntax:

Adr Op_Code [ Op_Adr ]

Adr DEF Konstantenwert

 

 

Die Adresse Adr bestimmt die Speicherzelle im Hauptspeicher, in die der Befehl bzw. die Konstante eingetragen wird.

Speicherzellen, in die eine Konstante eingetragen wurde, können auch im laufenden Programm geändert werden (->Variablen). Sie sind in der Speichertabelle mit einem D gekennzeichnet.

Op_Code kennzeichnet die auszuführenden Operationen (Tabelle 1). Der Parameter Op_Adr ist nur für bestimmte Befehle erforderlich. Jede der beschriebenen Operationen wird durch Folgen von Mikrobefehlen realisiert.

 

 

OPC

Befehl

Bedeutung

Mikrooperationen

0000

LDA

AR ß BR

DR ß M(AR)

A ß DR

Laden eines Wertes von der Hauptspeicheradresse Op_Adr in den Akkumulator A

0001

MOV

AR ß BR

DR ß A

M(AR) ß DR

Schreiben eines Wertes vom Akkumulator auf die Adresse Op_Adr des Hauptspeichers

0010

LDB

AR ß BR

DR ß M(AR)

B ß DR

Laden eines Wertes von der Hauptspeicher adresse Op_Adr in das Hilfsregister B

0011

MAB

B ß A

MAB Schreibt den Wert des Akkus in das Hilfsregister B

0100

ADD

ALU ß A

ALU ß B

A ß ALU

Addieren des Hilfsregisters B zum bzw. vom Register A , das Ergebnis steht im Akkumulator A

0101

SUB

ALU ß A

ALU ß B

A ß ALU

Subtrahieren des Hilfsregisters B zum bzw. vom Register A , das Ergebnis steht im Akkumulator A

0110

AND

ALU ß A

ALU ß B

A ß ALU

ermöglicht die logische UND Verknüpfung von A mit B , Ergebnis steht in A

0111

NOT

ALU ß A

A ß ALU

ermöglicht die logische Negation des Akkumulators , Ergebnis steht in A

1000

JMP

PC ß AD

unbedingter Sprung an die durch Op_Adr spezifizierte Adresse des Hauptspeichers

1001

JPS

PC ß AD

bedingter Sprung an die durch Op_Adr spezifizierte Adresse des Hauptspeichers ,wenn der Akkumulator einen negativen Wert enthält

1010

JPO

PC ß AD

bedingter Sprung analog JPS, falls das Overflow-Flag gesetzt ist

1011

CAL

DR ß PC

AR ß SP

M(AR) ß DR

SP ß SP-1

PC ß AD

Aufruf eines an der Adresse Op_Adr im Hauptspeicher beginnenden Unterprogramms

1100

RET

SP ß SP+1

AR ß SP

DR ß M(AR)

PC ß DR

Rücksprung aus dem Unterprogramm bzw. der Interrupt-Service-Routine zum Fortsetzungspunkt im Hauptprogramm

1101

RRA

ALU ß A

A ß ALU

der Akkumulator rotiert nach rechts, das 9. Bit erhält den Wert des 0. Bits Die Rotation wird n mal wiederholt. (adr) RRA (n)

1110

RLA

ALU ß A

A ß ALU

der Akkumulator rotiert nach links, das 0. Bit erhält den Wert des 9. Bits Die Rotation wird n mal widerholt. (adr) RLA (n)

1111

HLT

HALT

stoppt die Arbeit des Prozessors

--

DEF

Definiere

Konstante

ordnet die definierte Konstante der durch Adr. fest gelegten Speicherzelle zu Wertebereich -512 .. 511, Bsp.: 12 DEF -45 o. 12 DEF 34
Achtung: DEF ist kein Maschinenbefehl, sondern eine Assembler-Anweisung


zum Inhaltsverzeichnis     zurück     weiter

Die Chemnitzer Linux-Tage sind ein Projekt des IN-Chemnitz e.V. | Impressum | Datenschutzerklärung