Sunteți pe pagina 1din 8

Instrucțiuni logice

Operaţiile se fac la nivel de bit, adică se aplică funcţia logică respectivă


tuturor biţilor din operanzi.
Instrucțiuni logice

Instrucţiunea and (şi logic bit cu bit)

FG: and <destinaţie> , <sursa>


S: dest=dest and sursa
AF: afectate: cf=0, pf, sf, zf, of=0 .

Destinaţia poate fi registru sau locaţie de memorie de 8 sau 16 biţi.


Sursa - registru sau locaţie de memorie de 8 sau 16 biţi, sau o constantă.
Instrucțiuni logice

Această instrucţiune este utilizată la forţarea unor biţi la valoarea 0


De ex.

mov al, 61h


and al, 11011111b
mov al, ’a’
and al, 11011111b
mov al, 61h
and al, 0DFh mov al, ’a’
and al, 0DFh
Instrucțiuni logice

Instrucţiunea or (sau logic bit cu bit)

FG: or <destinaţie> , <sursa>


S: dest=dest or sursa
AF: afectate: cf=0, pf, sf, zf, of=0 .

Destinaţia poate fi registru sau locaţie de memorie de 8 sau 16 biţi


Sursa - registru sau locaţie de memorie de 8 sau 16 biţi, sau o constantă
Instrucțiuni logice

Această instrucţiune este utilizată la forţarea unor biţi la valoarea 1


De ex.

mov al, 41h


oral, 00100000b
mov al, ’A’
or al, 0010000b

mov al, 41h


or al, 20h mov al, ’A’
or al, 20h
Instrucțiuni logice

Instrucţiunea xor (sau exlusiv bit cu bit)


FG: xor <destinaţie> , <sursa>
S: dest=dest xor sursa
AF: afectate: cf=0, pf, sf, zf, of=0 .

Destinaţia poate fi registru sau locaţie de memorie de 8 sau 16 biţi


Sursa - registru sau locaţie de memorie de 8 sau 16 biţi, sau o constantă
Această instrucţiune este utilizată la curăţirea rapidă a unui registru
xor ax,ax
Instrucțiuni logice

Instrucţiunea test (testare)


FG: test <destinaţie> , <sursa>
S: ca şi and fără modificarea operanzilor
AF: afectate: cf=0, pf, sf, zf, of=0 .

Această instrucţiune este utilizată la testarea unui bit dintr-un operand

test ax,8000h
jz m ; salt dacă numărul din registrul ax este pozitiv
Instrucțiuni logice

Instrucţiunea not (negare logică bit cu bit)

FG: not <destinaţie>


S: 0→1 1→0
AF: nu afectează nici un flag

S-ar putea să vă placă și