IN - vstup slova nebo bytu (z portu)

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
Instrukce
IN - vstup slova nebo bytu (z portu)
Časování
5 (80286), 5-6 (80386)
Popis
Instrukce IN nahrazuje obsah registru AL nebo AX obsahem specifikovaného portu. Přesouvaný datový údaj může byt slovo nebo byte. Programátor může specifikovat libovolný port číslem od 0 do 65535, které uloží do registru DX. Jestliže je port specifikován s datovým bytem "inline", je nastaven přístup k portum 0 až 255. INTEL reservoval I/O adresy 00F8H až 00FFH ke svým interním účelům (řízení koprocesoru, resp. příští extenze procesoru): tyto adresy portu by tedy neměly být užívaný.


Syntaxe
IN accumulator, port


Ovlivňuje příznaky
žádné


Nedefinované příznaky
žádné


Výjimky v privilegovaném módu
Jestliže IOPL (v registru příznaku) obsahuje hodnotu větší než aktuální privilegována úroveň, je generována všeobecná výjimka porušení ochrany paměti.


Poznámka pro 80386
Šírka slova je 32 bitů.


Příklad
 IN AL, B_P_ADR    ; vstup byte do AL
 IN AX, W_P_ADR    ; vstup slova do AX
 IN AL, DX         ; vstup byte do AL
 IN AX, DX         ; vstup slova do AX
 IN EAX, PORT8     ; jen pro 80386