Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Адресация данных бывает прямая (всегда в постоянное место памяти) и КОСВЕННАЯ, для доступа по ВЫЧИСЛЯЕМОМУ адресу

Читайте также:
  1. CHAR и VARCHAR2 — символьные типы данных Огасlе
  2. CRM – технологии и интеллектуальный анализ данных в управлении маркетингом.
  3. FPU предоставляет восемь регистров для хранения данных и пять вспомогательных регистров.
  4. I. ЛИЧНЫЕ МЕСТОИМЕНИЯ
  5. I. Место и роль истории в системе человеческих знаний. Предмет и задачи курса истории Отечества.
  6. IV) Местоимено-союзные-соотносительные СПП
  7. RI +/- коррекция данных финансовой отчетности
  8. VI. НЕОПРЕДЕЛЕННЫЕ МЕСТОИМЕНИЯ
  9. X. Логические основы ЭВМ. Кодирование данных в ЭВМ
  10. А. Функции для оценки разброса данных.
  11. Абстрактные структуры данных.
  12. Аварии на взрывоопасных и пожароопасных объектах, очаги поражения при данных авариях

Пример применения косвенной адресации

КОСВЕННАЯ АДРЕСАЦИЯ

Позволяет В РАЗНОЕ ВРЕМЯ АДРЕСОВАТЬСЯ К РАЗНЫМ местам ОДНИМ И ТЕМ ЖЕ ОПЕРАТОРОМ.

Но нужно применять регистры – указатели (BX, BP, SI и DI).

 

Используется сумма «базы» (значение BX или BP), «индекса» (значение SI или DI), и «смещения» (константа или метка ).

Каждое из этих слагаемых НЕОБЯЗАТЕЛЬНО.

ПРИМЕРЫ:

[смещение] [bp+смещение]

[bx] [bx+смещение]

[si] [si+смещение]

[di] [di+смещение]

[bx+si] [bx+si+смещение]

[bx+di] [bx+di+смещение]

[bp+si] [bp+si+смещение]

[bp+di] [bp+di+смещение]

 

ЗАПИСЬ ТИПА [bp+si+смещение] И ЗАПИСЬ [bp][di][смещение] ЭКВИВАЛЕНТНЫ!

 

;------------подпрограмма вывода ASCIIZ-строки

; dx - метка строки

Outstr0 proc

pusha

mov si, dx

@:

mov dl, [si]

cmp dl, 0

je _out

mov ah, 2

int 21h

inc si

jmp @

_out:

popa

ret

endp

 

ИТОГИ РАЗДЕЛА

 

1. Ассемблер – строчный язык. Один оператор занимает одну строку.

2. Содержимым сегмента кода являются предложения четырёх типов: 1-КОМАНД, 2-МАКРОКОМАНД, 3-ДИРЕКТИВ и 4-КОММЕНТАРИЕВ.

3. Команды ассемблера превращаются компилятором в машинный код, а директивы – нет. Директивы управляют работой компилятора.

4. Выражения, состоящие из операндов и операций, вычисляются при компиляции (!) TASMом, поэтому должны сводиться к константе

5. TASM поддерживает простые (скалярные) типы данных (целые числа разной разрядности – 8,16 и 32 бита)и сложные типы данных (записи). Сложные типы строятся из простых примерно как record в Паскале..

7. Для косвенной адресации используются только регистры BX, BP, SI и DI, потому что процессор способен только их значения использовать как УКАЗАТЕЛИ.

 


Раздел 06. СТРУКТУРА КОМАНД АССЕМБЛЕРА
И ИХ ФУНКЦИОНАЛЬНАЯ КЛАССИФИКАЦИЯ

ПЛАН РАЗДЕЛА

1. Структура команды ассемблера.

2. Структура машинного кода команды.

3. Типы операндов команды и их согласованность по разрядности.

4. Функциональная классификация машинных команд

СТРУКТУРА КОМАНДЫ АССЕМБЛЕРА

Синтаксическая диаграмма. Команда ::=

ПРИМЕР:   M45: mov ax,@data mov ds,ax mov ah,09h CLD ; очистить флаг DF mov dx,offset message int 21h std mov ax,4c00h int 21h

СТРУКТУРА МАШИННОГО КОДА КОМАНДЫ

УСЛОВНЫЕ ОБОЗНАЧЕНИЯ ТИПОВ ОПЕРАНДОВ

Для представления операндов в синтаксических диаграммах используются следующие обозначения:

r8, r16, r32 — операнд в одном из регистров размером байт, слово или двойное слово;

m8, m16, m32, m48 — операнд в памяти размером байт, слово, двойное слово или 48 бит;

i8, i16, i32 — непосредственный операнд размером байт, слово или двойное слово;



a8, a16, a32 — относительный адрес (смещение) в сегменте кода.

Какие операнды в какой ситуации применены.

СОГЛАСОВАННОСТЬ ОПЕРАНДОВ ПО РАЗРЯДНОСТИ

Допустимы следующие сочетания:

"r8, m8",

"r16, m16",

"r32, m32".

Например, сочетание "r8, m16" недопустимо.

 

КЛАССИФИКАЦИЯ КОМАНД

 

 

ИТОГИ РАЗДЕЛА

<== предыдущая лекция | следующая лекция ==>
| Адресация данных бывает прямая (всегда в постоянное место памяти) и КОСВЕННАЯ, для доступа по ВЫЧИСЛЯЕМОМУ адресу

Дата добавления: 2014-01-07; Просмотров: 104; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ip: 23.20.129.162
Генерация страницы за: 0.007 сек.