Změny

Skočit na navigaci Skočit na vyhledávání

OUTS/OUTSB/OUTSW - výstup bytového/slovního řetezce na port

Přidáno 1 673 bajtů, 10. 1. 2013, 17:27
bez shrnutí editace
;Instrukce
: OUTS/OUTSB/OUTSW - výstup bytového/slovního řetezce na port

;Časování
: 5 (80286), 7 (80386)

;Popis
: Instrukce OUT přesouvá bytový nebo slovní rětezec adresovaný v paměti [[DS]]:[[SI]] na port specifikovaný adresou v [[DX]]. Druhý operand instrukce [[OUT]] určuje typ přesouvaných dat (slova nebo byty). [[SI]] je automaticky inkrementován o 1 při [[DF]]=0. Při [[DF]]=1 je [[SI]] dekrementován o 1. Přirustek je 1 pro bytové a 2 pro slovní operandy.


;Syntaxe
: OUTS port, source_string
: OUTSB (žádné operandy)
: OUTSW (žádné operandy)


;Ovlivňuje příznaky
: žádné


;Nedefinované příznaky
: žádné


;Výjimky v privilegovaném módu
: Jestliže je hodnota [[CPL]] (Current Privilege Level) větší nebo rovná hodnote [[IOPL]] (Input/Output Privilege Level), je generována všeobecná výjimka porušení ochrany paměti. Táto výjimka může být generována také v případe, že [[CS]], [[DS]] nebo [[ES]] obsahuje neplatnou efektívni adresu operandu. Jestliže segment [[CS]] obsahuje neplatnou adresu, je generována výjimka "[[chyba zasobniku]]".


;Výjimky v reálnem módu
: Jestliže je slovní operand na offsetu 0FFFFH, je generováno přerušení [[INT 13]].


;Poznámka pro 80386
: Šírka slova je 32 bitů. Adresy operandu v paměti jsou vytváreny ze 32-bitové efektívni adresy. Šestnactibitová část adresy je brána z registru [[DX]]. 32-bitová specifikace neovlivní adresu I/O portu. Délka řetezce je brána z registru [[ECX]].


;Příklad
OUTS DX, BYT_WRD
OUTS DX, WRD_STRNG
OUTSB
OUTSW

[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]

Navigační menu