Mathe: Bit und Boolsche Operationen

WRITEME

Boolsche Operationen

OperandFunktion
NOTBit-wise complement
ANDConjunction
ORDisjunction (inclusive "OR")
XORExclusive "OR"
EQVEquivalence
IMPImplication
NOT
? 01
? 10
ANDORXOREQUIMP
0 ? 000011
0 ? 101101
1 ? 001100
1 ? 111011


? --> 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
 
 TEST      EAX, EBX             ; EAX = EAX eqv EBX
;===  IMP, Implication
;===  Imp = Val1 IMP Val2
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 NOT       EAX                 ; EAX = not EAX
 OR        EAX, EBX            ; EAX = EAX or EBX

Bit Operationen

;===  BitTest
;===  BitTest = Val1 IMP Val2(Test) ;
 MOV       EBX, Val2           ; EBX = Val2
 MOV       EAX, Val1           ; EAX = Val1
 
 BT        EAX, EBX            ; EAX  = EAX BitSet EBX

Runtime/Mathe-BitBoolean.txt · Zuletzt geändert: 2009/05/08 20:07 (Externe Bearbeitung)