КАТЕГОРИИ: Архитектура-(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) |
Адресация данных бывает прямая (всегда в постоянное место памяти) и косвенная, для доступа по вычисляемому адресу
Пример применения косвенной адресации КОСВЕННАЯ АДРЕСАЦИЯ Позволяет В РАЗНОЕ ВРЕМЯ АДРЕСОВАТЬСЯ К РАЗНЫМ местам ОДНИМ И ТЕМ ЖЕ ОПЕРАТОРОМ. Но нужно применять регистры – указатели (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. Функциональная классификация машинных команд СТРУКТУРА КОМАНДЫ АССЕМБЛЕРА Синтаксическая диаграмма. Команда::=
СТРУКТУРА МАШИННОГО КОДА КОМАНДЫ
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ ТИПОВ ОПЕРАНДОВ Для представления операндов в синтаксических диаграммах используются следующие обозначения: 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; Просмотров: 718; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |