Programowanie w języku Assembler

Instrukcje procesorów rodziny 80x86 (O)


ORInclusive Logical OR
UżycieOR dest, src
Modyfikowane flagiCF OF PF SF ZF (AF nieokreślone)
Logiczne "lub" na src i dest. Wynik w dest. Operacje na poszczególnych bitach odbywają się według tabelki:
dest\src01
001
111

Przykład:
mov al, 1Fh ; al = 0001 1111 (b)
mov dl, 2Ch ; dl = 0010 1100 (b)
or al, dl ; al = 0011 1111 (b) = 3Fh

 Liczba cykli zegaraRozmiar
Parametry808x286386486PentiumBajtów
reg, reg32211 UV2
mem, reg24+EA7733 UV2+d(0,2)
reg, mem13+EA7622 UV2+d(0,2)
reg, imm43211 UV2+i(1,2)
mem, imm23+EA7733 UV*2+d(0,2)+i(1,2)
acc, imm43211 UV2+i(1,2)

* - nieparowalna, jeżeli jest przesunięcie i wartość natychmiastowa jednocześnie



OUTOutput Data to Port
UżycieOUT port, acc
Modyfikowane flagiBrak
Kopiuje bajt/słowo/podwójne słowo z akumulatora (AL/AX/EAX) do określonego portu. Jeżeli port jest z zakresu <0;255> to może być podany jako wartość natychmiastowa. Jeżeli jest większy, to trzeba go umieścić w rejestrze DX. (PC obsługuje jedynie porty <0;1023>, ale pozostałe adresy mogą być wykorzystane przez producentów innych urządzeń).
 Liczba cykli zegaraRozmiar
Parametry808x286386486PentiumBajtów
imm8, acc143101612 NP2
imm8, acc (PM)--4/2411/31/299/26/24 NP2
DX, acc123111612 NP1
DX, acc (PM)--5/2510/30/299/26/24 NP1


OUTSOutput String to Port (80188+)
UżycieOUTS port,src
OUTSB
OUTSW
OUTSD (386+)
Modyfikowane flagiBrak
Kopiuje bajt/słowo/podwójne słowo z src do portu pod adresem DX. Dla instrukcji bez operandu źródło jest umieszczone pod adresem DS:SI i SI
jest zwiększane/zmniejszane o rozmiar operandu lub w zależności od typu instrukcji. Jeżeli DF=1 to SI jest zmniejszane. Jeżeli DF=0 to zwiększane. Jeżeli nr portu jest z zakresu &lt;0;255&gt; to może być przekazany jako dane natychmiastowe, jeżeli większe to musi być w rejestrze DX.</p>
&nbsp;Liczba cykli zegaraRozmiar
Parametry808x286386486PentiumBajtów
port, src-5141713 NP1
port, src (PM)--8/2810/32/3010/27/25 NP1


Autorzy:
Dryobates
LKS
Vogel
Wirek