Bit und Boolsche Operationen

WRITEME

Boolsche Operationen

Operand Funktion
NOT Bit-wise complement
AND Conjunction
OR Disjunction (inclusive "OR")
XOR Exclusive "OR"
EQV Equivalence
IMP Implication
NOT
? 0 1
? 1 0
AND OR XOR EQU IMP
0 ? 0 0 0 0 1 1
0 ? 1 0 1 1 0 1
1 ? 0 0 1 1 0 0
1 ? 1 1 1 0 1 1


? --> Operand

;===  NOT, Bit-wise complement, Invertierung
;===  Not = Val1 NOT Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 NOT       EAX                 ; EAX = not EAX
;===  AND, Conjunction
;===  And = Val1 AND Val2
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 ADD       EAX, EBX            ; EAX = EAX and EBX
;===  OR, Disjunction (inclusive "or")
;===  Or = Val1 OR Val2
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 OR        EAX, EBX            ; EAX = EAX or EBX
;===  XOR, Exclusive "or"
;===  Xor = Val1 XOR Val2
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 XOR       EAX, EBX            ; EAX = EAX xor EBX

WRITEME

;===  EQV, Equivalence
;===  Eqv = Val1 XOR Val2
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 §       EAX, EBX             ; EAX = EAX eqv EBX
;===  IMP, Implication
;===  Imp = Val1 IMP Val2
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 §       EAX, EBX             ; EAX = EAX imp EBX

Bit Operationen

;===  BitTest
;===  BitTest = Val1 IMP Val2(Test) ;
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 §       EAX, EBX             ; EAX = EAX + EBX

 

Runtime/Mathe-BitBoolean.txt · Zuletzt geändert: 2007/03/04 22:51 (Externe Bearbeitung)