Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Команды ввода-вывода

Режимы адресации данных | Форматы арифметических данных. | Команда сложения ADD и команда сложения с добавлением переноса ADC. | Команда вычитания SUB и вычитания с заемом SBB. | Индивидуальное задание. | Команда коррекции деления для представления в кодах ASCII (команда AAO ) | Логические команды OR, AND и XOR. | Команды сдвига | Индивидуальное задание. | Программа типа СОМ |


Читайте также:
  1. C2. Участвующие команды
  2. Nbsp;   2 Команды LINDO
  3. Базисные средства ввода-вывода
  4. Внешняя среда команды
  5. Выбор команды
  6. ГАЛЬВАНИЗИРОВАНИЕ ТОП-КОМАНДЫ
  7. Глава 4. Простые (линейные) программы. Операторы ввода-вывода. Переменные величины

Команды ввода-вывода используются для взаимодействия с перифе­рийными устройствами системы. Они имеют формат

IN аккумулятор, порт

OUT порт, аккумулятор

где аккумулятор – регистр AL при обмене байтами или регистр АХ при обмене словами. Операндом порт может быть десятичное значение от 0 до 255, что позво­ляет адресоваться к 256 устройствам.

В качестве операнда порт можно использовать регистр DX, что позволяет легко изменять номер порта, например при необходимости пересылать одни и те же данные в несколько различных портов.

Приведем несколько примеров команд IN и OUT:

IN AL,200;Ввести байт из порта 200

IN AL,PORT_VAL; или из порта, указанного константой

OUT ЗОН,AХ; Вывести слово в порт ЗОН

OUT DX,AX; или в порт, указанный в ОХ

Команды пересылки адреса

Команды пересылки адреса передают не содержимое перемен­ных, а их адреса.

 

Команда загрузки исполнительного адреса

Команда LEA (load effective address — загрузить исполнительный адрес) пересылает смещение ячейки памяти в любой 16-битовый регистр общего назначе­ния, регистр указателя или индексный регистр. Она имеет формат

LEA регистр16,память16

где операнд память16 должен иметь атрибут типа WORD.

Операнд память16 в команде LEA может быть индексирован, что дает возможность осуществить гибкую адреса­цию. Например, если регистр DI содержит 5, то команда

LEA BX,TABLE[DI]

загрузит смещение адреса TABLE+5 в регистр ВХ.

 

Команда загрузки указателя и регистра сегмента данных LDS

Команда LDS (load pointer using DS — загрузить указатель с использо­ванием регистра DS) считывает из памяти 32-битовое двойное слово и. загружает первые 16 битов в заданный регистр, а следующие 16 битов - в регистр сегмента данных DS. Она имеет формат

LDS регистр16,память32

где регистр 16 - любой 16-битовый регистр общего назначения, а память32 — ячейка памяти с атрибутом типа DOUBLEWORD.

Команда загрузки указателя и регистра дополнительного сегмента LES

Команда LES (load pointer using ES - загрузить указатель с использова­нием регистра ES) идентична команде LDS, но загружает номер блока в регистр ES, а не в DS.

Команды помещения флагов в стек PUSHF и извлечения флагов из стека POPF

Эти команды пересылают содержимое регистра флагов в стек и обрат­но. Они в сущности идентичны командам PUSH и POP, но в них не требуется указывать операнд, так как под ним подразумевается регистр флагов.

Как и в случае команд PUSH и POP, команды PUSHF и POPF всегда используют­ся парами. Другими словами, каждой команде PUSHF должна соответствовать исполняемая позже команда POP.


Дата добавления: 2015-11-13; просмотров: 41 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Команды общего назначения| Индивидуальное задание.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)