18.12.2012 Aufrufe

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers

6. Funktionseinheiten eines Computers / Mikrocomputers

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Rechnergrundlagen Teil 2 - 20 - Prof. Dipl.-Ing. Komar<br />

Logische Befehle NOT – AND – OR – XOR – TEST<br />

Die folgenden logischen Befehle führen bitweise die boolschen Verknüpfungen zwischen den beiden Operanden<br />

durch<br />

NOT operand Invertiere Operanden ( Einerkomplement ) NOT WORD PTR [BX+3]<br />

AND op1, op2 Lade op1 mit op1 UND op2 AND CX, [3000]<br />

OR op1, op2 Lade op1 mit op1 ODER op2 OR AX, 3FFF<br />

XOR op1, op2 Lade op1 mit op1 EODER op2 XOR BYTE PTR [BX+10],0F<br />

TEST op1, op2 Testverundung op1 UND op2 , verändert keine Operanden, verändert Statusflags<br />

bit1 bit2 AND OR XOR<br />

0 0 0 0 0<br />

0 1 0 1 1<br />

1 0 0 1 1<br />

1 1 1 1 0<br />

Schiebebefehle RCL – RCR – ROL – ROR – SAL – SAR – SHL – SHR<br />

Mit den Schiebebefehlen lassen sich aus Bytes oder Wörtern bestehende Bitmuster um eine oder mehrere<br />

Bitpositionen nach rechts oder links verschieben. Man unterscheidet das Schieben hinsichtlich<br />

zyklisch (rotieren ) -> 1.Buchstabe R -> über das Carry-Flag RC -> links RCL rechts RCR<br />

ohne das Carry-Flag RO -> links ROL rechts ROR<br />

arithmetisch ->ersten beiden Buchstaben SA -> links SAL rechts SAR<br />

logisch ->ersten beiden Buchstaben SH -> links SHL rechts SHR<br />

Alle Byte- oder Wortoperanden ( Register, Speicher ) sind möglich, wobei in CL die Anzahl der Schiebe-<br />

positionen angegeben werden muß, RCL operand,CL<br />

Wird nur um eine Bitposition nach links oder rechts geschoben, so genügt folgende Syntax ROR operand,1<br />

logisches Schieben -> in frei werdende Stelle eine 0 nachziehen, das herausfallende Bit geht ins Carry-Flag<br />

CY<br />

0 CY 0<br />

vorzeichenlose Dualzahl * 2 n vorzeichenlose Dualzahl / 2 n , Rest im Carry<br />

SHL AX , 1 n = geschobene Bitpositionen SHR BYTE PTR [DI+1] , CL<br />

arithmetisches Schieben -> die Operanden werden als vorzeichenbehaftete Dualzahlen behandelt, das Links-<br />

Schieben entspricht völlig dem logischem Links-Schieben SAL = SHL und auch der Opcode ist völlig<br />

identisch, beim arithmetischen Rechts-Schieben bleibt das höchstwertige Bit MSB erhalten (Vorzeichen )<br />

vorzeichenbehaftete Dualzahl * 2 n vorzeichenbehaftete Dualzahl / 2 n<br />

SAL AL, CL SAR WORD PTR [1000], 1<br />

zyklisches Schieben -> frei werdende Stellen werden durch herausgeschobene Bit ersetzt. Es geht kein Bit<br />

verloren. CY<br />

CY<br />

ROL / ROR schieben Operanden im Ring RCL / RCR schieben Operanden mitsamt Carry über<br />

herausgeschobenes Bit ins Carry das Carry -Flag im Ring<br />

ROR BYTE PTR [BX],CL RCL CX,CL<br />

CY

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!