Адресация Адресация Уточним понятие "адресация". Адресация (по Э. Таненбауму) – процесс определения местоположения операндов команды МП (их адреса). Адрес.

Презентация:



Advertisements
Похожие презентации
Intel архитектура IA16 Основа большинства современных компьютеров.
Advertisements

Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 3 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI= V_size = 5 M_size.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 2 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Язык ASSEMBLER Команды пересылки данных Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 10 Типы адресации. Стеки. Процессоры. ОЗУ. профессор ГУ-ВШЭ, доктор технических наук Геннадий.
Организация обмена информацией Функции устройств магистрали.
Ф ОРМАТ КОМАНДЫ ПРОЦЕССОРА I NTEL С АРХИТЕКТУРОЙ IA-32.
Структурная схема 8-разрядного микропроцессора регистр флагов F ДШК РК АЛУ ВРВА А М SP IP СИД БА БД устройство управления РОН A15-A0.
Генерация кода Преобразование дерева операций в код на языке ассемблера Ассемблер процессоров типа Intel 80x86 Code – функция перевода узла в команды ассемблера.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
1 Системное программное обеспечение Лекции: Ассемблер, система прерываний, основы построения компиляторов, ассемблер «под Windows» Семинары: подготовка.
Лекция 6. Способы адресации в микропроцессорных системах.
Программирование на языке ассемблер (Assembler)
Набор инструкций. Набор команд это множество операций, которое исполняет процессор. Набор команд -- это та граница, где проектировщик компьютера и программист.
Уровни организации ЭВМ. Машинный уровень Лекция 5.
Набор инструкций. Набор команд это множество операций, которое исполняет процессор. Набор команд это та граница, где проектировщик компьютера и программист.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 6 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
1 Лекция 2 Система команд и примеры программ для МП 8086 Лектор: Люличева И.А.
Транксрипт:

Адресация

Адресация Уточним понятие "адресация". Адресация (по Э. Таненбауму) – процесс определения местоположения операндов команды МП (их адреса). Адрес может задаваться с помощью 5 элементов или их различных допустимых комбинаций.

ЭЛЕМЕНТЫ REGIMMEDDISPBASEINDEX | | seg | offset [ ]| | $ [bx]| [bp] [si]| [di] Регистровая mov ax, bx Непосредственная mov ax, 10h mov bx, offset var Прямая mov ax, var mov cx, [12h] Относительная / косвенная add cx, [bx] Индексная sub [si], 2 xchg ax, [di] Прямая со смещением add cx, var[10] mov bx, [var+2] Относительная с индексацией mov ax, [bx][si] mov [bp+di], si Прямая с индексацией, базированием и смещением mov var[bx][di+10h], ax xchg bx, var[bp+si+1234h] РЕЖИМЫ АДРЕСАЦИИ

Допустимые комбинации элементов REG ax IMMED 4 DISP var или [4] BASE [bx] INDEX [si] DISP+IMMED var[4] DISP+BASE var[bx] DISP+INDEX var[si] BASE+IMMED [bx+4] BASE+INDEX [bx][si] INDEX+IMMED [si+4] DISP+BASE+IMMED var[bx+4] DISP+BASE+INDEX var[bx+si] DISP+INDEX+IMMED var[si+4] BASE+INDEX+IMMED [bx][si+4] DISP+BASE+INDEX+IMMED var[bx][si+4]

Регистровая адресация. inc СН; Плюс 1 к содержимому СН push DS; DS сохраняется в стеке xchg ВХ,ВР; ВХ и ВР обмениваются содержимым mov ES, АХ; Содержимое АХ пересылается в ES Непосредственная адресация MOV AX, 5 ;загружает значение 5 в РОН AX MOV AL,'*'; Код ASCII символа "*' загружается в AL..... K EQU 1024 MOVCX, K ;загружает в РОН СХ константу 1024, определенную идентификатором К.

Прямая адресация памяти. Сегмент данных meml dw 0 ;Слово памяти содержит 0 mem2 db 230 ;Байт памяти содержит 230 ;Сегмент команд ……. inc meml ; Содержимое слова meml увеличивается на 1 mov DX, meml ; Содержимое слова с именем mem1 загружается в DX mov AL, mem2 ; Содержимое байта с именем mem2 загружается в АL

Регистровая косвенная (базовая и индексная). При использовании регистров ВХ или ВР адресацию называют базовой, при использовании регистров SI или DI - индексной. Косвенные регистровые операнды необходимо заключать в квадратные скобки Пример (косвенной базовой адресации). mov [bx],al ; Пересылка байта из регистра AL по адресу, ; определяемому регистрами DS:BX mov dx,[bp] ; Пересылка слова из ячейки памяти, определяемой ; регистрами SS:BP в регистр DX Пример (косвенной индексной адресации). mov dx,[si] ; Пересылка слова из ячейки памяти, определяемой ; регистрами DS:SI в регистр DX mov [si],cx ; Пересылка слова из регистра CX по адресу, ; содержащемуся в регистре DS:SI

Регистровая косвенная адресация со смещением (базовая и индексная). MOV AХ,[ВР]+4 ;3 то стандартная форма записи, MOV AХ,4[ВР] ; но сдвиг можно указать на первом месте MOV AХ,[ВР+4] ; или внутри скобок

Базово-индексная адресация. Пример (адресации по базе с индексированием). mov ax,[bx][di] ; Адрес второго операнда: (BX)+(DI) mov ax,[bx+di] Базово-индексная адресация со смещением. + + Пример (косвенной базовой индексной адресации со смещением). mov ax,[si+5h][dx] mov ax,[bx+di+5]

1. В следующей команде найдите ошибку и предложите способ ее исправления: MOV[SI],[BX] 2. Объясните, почему ассемблер выдает ошибку в команде MOV[BX],25? Исправьте ошибку. 3. В нижеприведенной таблице укажите в пустом столбце, какой режим адресации используется в командах. Команда Режим адресации LEA BX,TABL MOV DI,4 MOV CL,[BX] MOV DL,[BX+3] MOV AL,[BX+DI] MOV CH,2[BX+DI] 4. Какой смысл имеют квадратные скобки в командах ассемблера? 5. В чем отличие команд mov ax, [bx+2] и mov ax [bx] + 2? 6. В чем отличие команд mov ax, [bx][si] и mov ax, [si][bx]? 7. В сегменте данных описан вектор TABLDB12,15,16,10,8,2,5,0. Напишите команды занесения значения четвертого байта (значение 10) в регистр AL а) с использованием прямой адресации; б) с использованием косвенной адресации; в) с использованием прямой адресации с индексированием.

Операции, связанные с адресацией

Специальные операции Операции для работы с сегментами и адресами Получение сегментной составляющей адреса seg [5] Получение смещения / исполнительного адреса offset [5] Индексная (считается арифметической) [ ] [1] Переопределения сегмента : [4]

Дополнительные операции Арифметические операции для формирования IMMED Унарные + [7] - [7] Бинарные * [8]+ [9] / [8]- [9] mod [8]

Пример Простая программа Простая программа, иллюстрирующая различные режимы адресации и применение адресных операций.