 |
::
Меню :: |
 |
|
|
 |
::
Друзі :: |
 |
|
|
 |
::
Лічильники :: |
 |
|
|
|
OUTS Виведення рядка в порт
OUTSB Виведення байта в порт
OUTSW Виведення слова в порт
OUTSD Виведення подвійного слова в порт
Команди
призначені для виведення даних в порт безпосередньо з пам'яті. Адреса порту
указується, як і для команди out, в регістрі DX, при цьому завдання адреси порту
безпосереднім значенням не допускається. Дані витягуються з пам'яті за
адресою, що знаходиться в парі регістрів Ds:esi. Заміна сегменту не допускається.
Команда outsb передає в порт 1 байт, команда outsw - 1 слово, команда outsd
- 1 подвійне слово, а команда outs може бути використана для передачі байтів,
слів і подвійних слів. У останньому випадку розмір завантажуваного даного визначається
описом рядка (за допомогою директив db, dw або dd). Після передачі даних регістр
ESI отримує позитивний (якщо прапор Df=0) або негативний (якщо прапор Df=
1) приріст. Величина приросту складає 1, 2 або 4 залежно від розміру
передаваних даних.
Варіант команди outs має формат
outs DX, рядок
(що не позбавляє від необхідності
ініціалізувати регістри Ds:esi адресою рядка).
Якщо
пристрій, що адресується через порт, може приймати послідовність даних,
то командам outs можна передувати префіксом повторення rep. В цьому випадку в порт
пересилається СХ елементів даних заданого розміру.
Команди outs не впливають на прапори процесора.
Приклад 1
; У
полях даних mem dw 0ffh
;В програмному сегменті
mov SI, offset mem;ES:DI ® mem
mov Dx,303h ;Адрес порту
outsb ;Вывод у порт 8-бітовий
;даного
Приклад 2
; У
полях даних string dw 0ffh,1,5,0bh, 0
; У програмному сегменті
mov SI, off set mem;ES:DI -> mem
mov Dx,340h Адреса порту
mov CX, 5 ;Число даних
eld ;Движение за даними вперед
rep outsb ;Последовательный вивід в
;порт п'яти 8-бітових даних
-
|
 |
::
Наша кнопка :: |
 |
|
 |
Отримати код:
|
Підтримайте наш сайт і розмістіть нашу
кнопку на своєму ресурсі. |
|
|
 |
::
Популярне :: |
 |
|
|
 |
:: Посилання :: |
 |
|
|
|