Bitverarbeitung
Ein Bit setzen, löschen und invertieren
Mit setb
wird ein Bit auf 1 und mit clr
auf 0 gesetzt. Als Parameter kann entweder eine Bitadresse oder C
(für das Carry) verwendet werden.
Mit cpl C
und cpl badr
wird ein Bit invertiert. Ist das Bit vorher 1 so ist es nach der Ausführung des cpl
Befehls 0. War es vorher 0 so wird es zu 1.
Bits verknüpfen
Die Befehle anl C, badr
und orl C, badr
ermöglichen es das Carry-Flag mit einem weiteren Bit zu verknüpfen.
Anl C, badr
ist eine Und-Verknüpfung und orl C, badr
eine Oder-Verknüpfung. Das Ergebnis dieser Bit-Operation
steht im Carry.
Bei den Befehlen anl C, /badr
und orl C, /badr
wird die Verknüpfung mit dem inversen Wert des 2 Parameters durchgeführt.
Somit steht anl C, /badr
für c=c∧!badr
.
Carry laden und speichern
Mit mov C, badr
wird der Inhalt von badr
in das Carry geladen. Dies ist nötig, wenn man Bits verknüpfen will, da
hier ein Bit im Carry stehen muss.
Mit mov badr, C
wird der Inhalt des Carrys nach badr
kopiert. Somit kann ein Ergebnis einer Bitoperation aus dem
Carry zurückgeschrieben werden.
Hier die Bitverarbeitungsbefehle in der Übersicht:
Mnemonic | Funktion | Bytes | MZ | Flags |
CLR C | Lösche das Carry-Flag. | 1 | 1 | CY |
CLR badr | Lösche den Inhalt von badr. | 2 | 1 | - |
SETB C | Setze das Carry-Flag. | 1 | 1 | CY |
SETB badr | Setze den Inhalt von badr. | 2 | 1 | - |
CPL C | Invertiere den Inhalt des C-Flag. | 1 | 1 | CY |
CPL badr | Invertiere den Inhalt von badr. | 2 | 1 | - |
ANL C,badr | Das Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem Inhalt von badr. | 2 | 2 | CY |
ANL C,/badr | Das Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem invertierten Inhalt von badr. | 2 | 2 | CY |
ORL C,badr | Das Carry-Flag wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Carry-Bit und dem Inhalt von badr. | 2 | 2 | CY |
ORL C,/badr | Das Carry-Flag wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Carry-Bit und dem invertierten Inhalt von badr. | 2 | 2 | CY |
MOV C,badr | Lade in das Carry-Bit den Inhalt von badr. | 2 | 2 | CY |
MOV badr,C | Lade in die badr den Inhalt des Carry-Bit. | 2 | 2 | - |