Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Assembler_LAB_02.docx
Скачиваний:
13
Добавлен:
02.02.2015
Размер:
34.22 Кб
Скачать
  1. Лабораторная работа №2

Команды передачи данных и адресация к памяти

Цель работы: освоение приемов пересылки данных между ячейками памяти с использованием команд побайтовой или пословной передачи данных, применение режимов адресации к памяти.

    1. Методические указания к изучению операций передачи данных

Обычно команды пересылки данных наиболее часто используются в наборе команд любой ЭВМ. Большая часть каждой задачи по обработке данных заключается в переносе информации из одного места в другое.

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

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

Существует несколько различных вариантов команды MOV, но программист использует каждую из этих команд с помощью единственного кода операции MOV. Ассемблер порождает правильную машинную команду, основываясь на операндах (ассемблер требует для операндов назначения типов, т.е. ассемблер должен знать, что представляет собой каждый операнд - регистр, байт памяти, слово памяти, сегментный регистр и т.п.).

Общая форма команды MOV имеет вид:

MOV приемник, источник

Допустимые сочетания приемников и источников приведены в таблице 1.1, в которой -

Br регистры AH,AL,BH,BL,CH,CL,DH,CL (байтовые регистры);

Wr регистры AX,BX,CX,DX,SР,BР,SI,DI (16 - разрядные регистры);

Dr регистры EAX,EBX,ECX,EDX,ESР,EBР,ESI,EDI (32 - разрядные регистры);

Sr регистры SS,ES,DS,GS,FS (сегментные регистры);

М -ячейка памяти;

Const непосредственно заданная константа.

Табл.1.1 Сочетания приемников и источников

Приемник

Источник

Br

Wr

Dr

Sr

Const

M

Br

X

X

X

Wr

X

X

X

X

Dr

X

X

X

Sr

X

M

X

X

X

      1. Команда обмена xchg

Команда замены XCHG меняет местами содержимое двух ячеек. Эта команда обменивает содержимое двух регистров, или регистра и памяти.

Синтаксис команды имеет вид:

XCHG приемник, источник

Источник и приемник в команде имеет тоже смысл, что и для команд пересылки данных. При этом в качестве одного из операндов не может использоваться сегментный регистр.

Команда XCHG заменяет три команды пересылки и не требует промежуточной ячейки памяти.

      1. Команды ввода и вывода

Для выполнения операций ввода и вывода микропроцессор имеет команды IN и OUT соответственно. Каждое устройство ввода-вывода персональной ЭВМ фирмы IBM имеет один или больше встроенных регистров, с которыми могут работать эти команды. Устройство ввода-вывода имеет адреса для встроенных регистров. Это адресное пространство отличается от адресного пространства памяти; всего существует 65536 адресов ввода-вывода, доступных микропроцессору.

Команда IN пересылает данные из устройства ввода-вывода в регистр AL. Эта команда может указать адрес устройства ввода-вывода двумя различными способами. Если адрес устройства находится в пределах 0 - 255, он может содержаться в команде как непосредственное значение. В противном случае, адрес устройства ввода-вывода должен содержаться в регистре DX. Регистр DX может задавать адреса всех устройств ввода-вывода, включая и те, номера которых меньше 256.

Аналогично работает команда OUT, за исключением того, что она записывает регистр AL в регистр устройства ввода-вывода. Адреса в команде OUT указываются так же, как и в команде IN.

Синтаксис команд ввода-вывода имеет вид:

IN const

IN DX

OUT const

OUT DX

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]