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

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

Читайте также:
  1. I. Сигналы-команды, подаваемые воздушным судном-перехватчиком,
  2. II. 12-24. Причина страданий преданных
  3. II. Ввод и редактирование данных
  4. V. Форматирование данных
  5. X. Оператора манипулирования данными. Вставка данных
  6. Адресация данных в процессоре
  7. Анализ и обобщение опыта передовой практики и литературных данных

Основные команды простых программ на Ассемблере

 

Изучаемый микропроцессор имеет 92 типа команд, которые приведены в таблице 1. Из нее видно, что некоторые команды имеют не 1, а несколько мнемокодов. В таблице команды перечислены в алфавитном порядке, что не очень приемлемо для их изучения. Удобнее для изучения команд представить их как совокупность групп команд, выполняющих похожие функции. С этой целью можно разделить систему команд на 7 функциональных групп:

1. Команды пересылки данных, осуществляющие обмен информацией.

2. Арифметические команды, выполняющие арифметические операции над числами со знаком и без знака.

3. Команды манипулирования битами выполняющие логические операции и сдвиги содержимого регистров и ячеек памяти.

4. Команды передачи управления, управляющие последовательностью исполнения команд программы.

5. Команды обработки строк для перемещения, сравнения и сканирования символьных данных.

6. Команды прерывания, вызывающие обработку микропроцессором некоторых специфических ситуаций.

7. Команды управления процессором, устанавливающие и сбрасывающие флаги состояния, а также изменяющие режим функционирования микропроцессора.

 

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

Сведения об основных командах пересылки данных были приведены в предыдущей лекции. Сведения о других командах этой группы приведены в таблице 2.

Мнемокод Формат
Команды общего назначения MOV   MOV приемник, источник
PUSH PUSH источник
POP POP приемник
XCHG XCHG приемник, источник
XLAT XLAT таблица_источник
Команды ввода-вывода IN   IN аккумулятор, порт
OUT OUT порт аккумулятор
Команды пересылки адреса LEA   LEA регистр (16), память (16)
LDS LDS регистр (16), память (32)
LES LES регистр (16), память (32)
Команды пересылки флагов LAHF   LAHF
SAHF SAHF
PUSHF PUSHF
POPF POPF

Никакие из этих команд, кроме SAHF и POPF значения флагов не изменяют.

Команды ввода-вывода будем подробнее рассматривать далее.

Относительно команд пересылки адреса следует отметить, что в отличие от MOV они пересылают не значения, а адрес операнда. Эту операцию выполняет LEA. По этой команде в приемник, каковым является 16-разрядный регистр, переносится исполнительный (эффективный) адрес данных (иначе говоря, в регистр загружается смещение адреса памяти относительно начала сегмента данных).

Для загрузки полного адреса ячейки памяти существуют команды LDS и LES. При их выполнении смещение искомого адреса пересылается в указанный командой 16-разрядный РОН, а сегментная составляющая адреса (которая потом смещается на 4 разряда при определении физического адреса) помещается в 1-ой команде в регистр данных DS, а во 2-ой команде – в дополнительный регистр данных ES.

Команды PUSH и POP помещают или извлекают указанные в них данные на вершину стека (более подробно их будем рассматривать на конкретных примерах программ).

 

Вопросы для проверки усвоения команд пересылки данных.

1. Заполните таблицу, считая все команды независимыми. Переменная BYTE определена как DB 05 и описана первой в сегменте данных. Отметьте некорректные инструкции.

Команда Содержимое операнда до выполнения команды Результат выполнения
MOV CX,25H CX=0000H CX=
MOV CL,0 CX=FFFFH CX=
MOV AX,BYTE AX=1234H AX=
MOV DL,BYTE DX=0120H DX=
LEA BX,BYTE BX=3456H BX=
XCHG AH,AL AX=1234Y AX=
XCHG CX,CX CX=1234H CX=

2. Чем существенно различаются в исполнении 2 инструкции, записанные одной строкой (обратитесь к теме “Режимы адресации”)? Какой смысл имеют в этих инструкциях квадратные скобки?

A) MOV DX,AC24H MOV DX,[AC24H]

B) MOV BX,WORDA MOV BX,[WORDA]

C) MOV BX,OFFSET WORDA LEA BX,WORDA

3. Укажите, как одной командой поменять содержимое слова WORD и регистра АХ.

4. Укажите команду, загружающую в регистр SI смещение элемента данных с именем RATE.

5. В сегменте данных описан вектор TABL DB 12,15,16,10,8,2,5,0. Напишите команды занесения значения четвертого байта (значение 10) в регистр AL

а) с использованием прямой адресации;

б) с использованием косвенной адресации;

в) с использованием прямой адресации с индексированием.

6. Используя описание вектора из пункта 5, заполните пустые места в таблице.

Команда Комментарий или результат выполнения
LEA BX,TABL Инициализируем ВХ
MOV DI,4 и DI
MOV CL,[BX] CL=
MOV DL,[BX+3] DL=
MOV AL,[BX+DI] AL=
MOV CH,2[BX+DI] CH=

 


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


<== предыдущая страница | следующая страница ==>
Г.С.Сковорода — видатний представник філософії українського , Просвітництва.| Команды манипулирования битами

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