АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Команды передачи данных

Читайте также:
  1. B. на процессе сбора, передачи и хранения информации
  2. Адресация памяти и данных.
  3. Алгоритм геометрического расчета передачи
  4. Анализ результатов и оформление материалов для передачи заказчику
  5. Анализ статистических данных. Построение контрольных листков
  6. База данных.
  7. В командном спарринге могут принимать участие только команды, участвовавшие в командных туль.
  8. В процессы производства и передачи информации
  9. В чем опасность согласия на сбор и обработку персональных данных.
  10. Введение в лабораторный практикум. Техника безопасности. Методы измерений различных величин и обработка экспериментальных данных.
  11. Виды передачи возбудителя
  12. Влияние распределения шумов по спектру (форма кривой спектральной плотности) на скорость передачи информации.

Во всех компьютерах необходимы команды, предназначенные просто для пересылок данных, адресов и непосредственных операндов в регистры или ячейки памяти. В микропроцессоре ВМ86 имеется 4 базовые команды передачи данных. MOV, LEA, LDS, и LTS. В данной работе подробно рассмотрим команду MOV. Остальные команды и их использование при разработке программ будем рассматривать по мере их использования.

Команда mov предназначена для пересылок байта или слова внутри ЦП или между ЦП и памятью. Ее формат может занимать от двух до шести байт в зависимости от способа адресации. Мнемоника и формат этой команды на ассемблере имеет вид:

 

MOV dst,src здесь dst операнд-получатель, src операнд-источник.

 

В зависимости от режима адресации эта команда может передавать информацию:

из регистра в регистр:

непосредственный операнд в регистр;

непосредственный операнд в ячейку памяти;

из ячейки памяти в регистр;

из регистра в ячейку памяти:

из регистра (ячейки памяти) в сегментный регистр (кроме регистра cs);

из сегментного регистра в регистр или ячейку памяти.

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

MOV AX,SEGMENT

MOV DS,AX

МOV AX,DS

MOV ES,AX

Или

PUSH DS

POP ES

Рассмотрим еще несколько примеров команды MOV:

1) MOV DS,AX; переслать (АХ) в DS

 

2) MOV AL,’E’; переслать в AL ASCII код буквы Е

3) MOV [BX],DX переслать (DX) в ячейку адресованную (ВХ)

Здесь ЕА прибавляется к (DS)×16.

4 ) MOV AX,Y[BP][SI]; переслать в АХ содержимое ячейки памяти, определенной суммой (ВР), (SI) и смещения Y

 

 

Здесь ЕА прибавляется к (SS)×16.

Отметим, что при использовании регистра ВР в качестве базового, эффективный адрес ЕА всегда складывается с содержимым сегментного регистра SS, умноженного на 16.

Приведем варианты фрагментов программы, которые помещают в регистр AL, используя различные способы адресации, ASCII код буквы I из символьной цепочки "ABCDEFGHIJKLM". Цепочка предварительно вводится в оперативную память командой ассемблера DB, которая помечается меткой CharStarmg. Отметим, что каждый символ занимает в памяти один байт. Символ I смещен относительно А на 8 байт. На рис.5 приведено расположение цепочки в памяти.

 

 

Рис.5. Расположение цепочки "ABCDEFGHIJKLM" в памяти

 

.DATA - определение сегмента данных

MAIN DB 'MAIN'

CharStrmg DB ’ABCDEFGHIJ’

.CODE - определение сегмента кода.

MOV AX,@DATA; в регистр АХ загружается сегментный адрес сегмента данных; MOV DS,AX; в регистр DS перемещается содержимое регистра АХ.

MOV SI,OFFSET CharString + 8; в регистр SI загружается смещение строки CharString относительно начала сегмента данных на 8 байт (непосредственная адресация)

MOV AL,[SI]; врегистр АХ помещается значение символа I из строки символов (регистровая относительная адресация)

 

MOV ВХ,8

MOV AL,[CharString + ВХ]


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)