Все про Assembler українською мовою на сайті net.kr.ua

 

:: Меню ::

Головна
Введення
Архітектура реального режиму
Основи програмування
Команди і алгоритми
Розширені можливості сучасних мікропроцесорів
Система команд процесорів Intel
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

 
 

:: Лічильники ::

=

 

 

 

 

fff00e50

INS Введення рядка з порту

INSB Введення байта з порту

INSW Введення слова з порту

INSD Введення подвійного слова з порту


Команди призначені для введення даних з порту безпосередньо в пам'ять. Адреса порту указується, як і для команди in, в регістрі DX, при цьому завдання адреси порту безпосереднім значенням не допускається. Дані пересилаються за адресою, що знаходиться в парі регістрів Es:edi. Заміна сегменту не допускається. Команда insb переносить з порту 1 байт, команда insw - 1 слово, команда insd - 1 подвійне слово, а команда ins може бути використана для передачі байтів, слів і подвійних слів. У останньому випадку розмір завантажуваного даного визначається описом рядка (за допомогою директив db, dw або dd). Після передачі даних регістр EDI отримує позитивний (якщо прапор Df=0) або негативний (якщо прапор Df= 1) приріст. Величина приросту складає 1, 2 або 4, залежно від розміру передаваних даних. Варіант команди ins має формат

ins рядок, DX

(що не позбавляє від необхідності ініціалізувати регістри Es:edi адресою рядка).
Якщо пристрій, що адресується через порт, може передавати послідовність даних, то командам ins можна передувати префіксом повторення rep. В цьому випадку з порту приймається СХ елементів даних заданого розміру.
Команди ins не впливають на прапори процесора.

Приклад


;У сегменті даних, що адресуються через DS
mem dw 0
;В програмному сегменті
push DS
pop ES ;ES=DS
mov Di,offset mem;ES:DI -> mem
mov Dx,303h ;Адрес порту
insw ;Ввод з порту 16-бітового даного

-

:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Популярне ::

-


:: Посилання ::

-


 

 

 


Copyright © net.kr.ua, 2019-2025 (assem.us)