Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI=3.141592 V_size = 5 M_size.

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



Advertisements
Похожие презентации
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 2 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Advertisements

Директивы сегментации. Упрощенные директивы сегментации. Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
Адресация Адресация Уточним понятие "адресация". Адресация (по Э. Таненбауму) – процесс определения местоположения операндов команды МП (их адреса). Адрес.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 10 Типы адресации. Стеки. Процессоры. ОЗУ. профессор ГУ-ВШЭ, доктор технических наук Геннадий.
Intel архитектура IA16 Основа большинства современных компьютеров.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 7 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Ф ОРМАТ КОМАНДЫ ПРОЦЕССОРА I NTEL С АРХИТЕКТУРОЙ IA-32.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 6 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Организация обмена информацией Функции устройств магистрали.
Язык ASSEMBLER Команды пересылки данных Лекция доцента кафедры ИВТ ГрГУ кандидата технических наук Ливак Е.Н.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 3 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 1 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Уровни организации ЭВМ. Машинный уровень Лекция 5.
Программирование на языке ассемблер (Assembler)
1 Подсистема прерываний Схема подсистемы прерываний.
Структурная схема 8-разрядного микропроцессора регистр флагов F ДШК РК АЛУ ВРВА А М SP IP СИД БА БД устройство управления РОН A15-A0.
Микропроцессорные системы Программы и инструменты Это описание предполагает, что транслятор wavrasm правильно установлен на компьютер, на котором происходит.
Лекция 6. Способы адресации в микропроцессорных системах.
Архитектура ЭВМ Практика 4. Программы с ветвлениями.
Транксрипт:

Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI= V_size = 5 M_size = V_size*V_size V_szie=V_size+1 Присвоение имени выражению: имя EQU операнд (NB. Имя не может быть переопределено) sum equ ax N equ K K equ 2 mov sum,N

Операторы, формирующие выражения D dw 20 dup(?) Опер.ПримерОписание ()1(expr)Изменение приоритета операций []1[memref]Косвенная ссылка. Length1mov ax,length DЧисло элементов типа (ax=20) Size1mov ax,size DРазмер выделенной памяти (40) Width1Width поле_записиРазмер поля записи в битах Mask1Mask поле_записиБитовая маска указанного поля.2Memrsf.fieldДоступ к члену структуры :3Cs:memrefУказание сегмента Ptr4Тип ptr выражениеУказатель offset4Смещение адреса seg4Номер сегмента

Операторы, формирующие выражения D dw 20 dup(?)Y=1234h Опер.ПримерОписание Type4Mov ax, type DРазмер элемента типа (ax=2) This4Указатель текущего адреса High5mov ah,low y mov al,high y Старший/младший байт выражения (ax=3412h) Low5 +,-6Унарные *,/,mod7 Shr,Shl7 Выражение shr счетчик Сдвиг +,-8Бинарные Сравн.9Eq,ne,lt,le,gt,ge $ - текущее значение счетчика команд компилятора

Операторы, формирующие выражения Y=1234h Опер.ПримерОписание Not10 And11 Or, Xor12 Short13Указатель короткого перехода.type13Mov al,.type Y *) Тип символа (al=24h= ) *) 0Принадлежит кодовому сегменту4Регистр 1 Принадлежит командному сегменту 5Определен 2Является константой6Не используется 3 Непосредственная ссылка к памяти 7Внешний для модуля

Способы адресации Указание непосредственного значения Mov ax,0 Указание регистра Mov ds,ax Указание места в памяти ПрямаяКосвенная Абсолютная Со смещением Относительная Базовая со смещениемБазовая Базово-индексная Базово-индексная со смещением

Прямая адресация Абсолютная Mov bx,word_val Относительная Jc met DS Word_val Jc met CS met-$ Прямая со смещением:Mov al,byte_tbla+1 IP met:

Косвенная адресация Для любых процессоров Могут использоваться регистры BX, BP, SI, DI Для процессоров > 286 дополнительно регистры EAX, EBX, ECX,EDX - адресация с помощью заключенных в квадратные скобки регистров, содержащих адрес памяти NB. DS:bx, DS:si, DS:di и SS:bp ! Mov dl,byte ptr [bp] Mov dl,byte ptr ds:[bp]

Базовая адресация Базовая Dt1db? … mov bx, offset Dt1 mov byte ptr[bx],2 Базовая со смещением Dt1dw10dup(?) … mov bx,offset Dt1 mov word ptr[bx]+2,6.386 mov eax,1 mov Dt1[eax*2],6 *) *) Иногда называют индексной, т.к. реализует обращение к членам массива. Размерность может быть 2,4 и 8.

Базово-индексная адресация - использует комбинацию одного базового и одного индексного регистра Базово-индексная Dt1db20dup(?) … mov bx,offset Dt1 mov di,2 mov byte ptr[bx+di],1 Базово-индексная со смещением Dt2dd10*5dup(?) … mov cl,Dt1[bx+di].386 mov ebx,Dt2[ecx*4+eax]

Ближние и дальние адреса Короткий адрес (байт) Jc mеt Jc met CS met-$ IP met: Ближний адрес (2 байта) Jmp mеt Jmp met CS met IP met: Jmp short met Jmp far ptr met – дальний переход (4 байта)

Упрощенные директивы описания сегментов ДирективаОписание: Начало или продолжение.code Сегмента кода.data Сегмента инициализированных данных.const Сегмента постоянных данных.data? Сегмента неинициализированных данных.stack [размер] Сегмента стека. Параметр задает размер стека.fardata [имя] Сегмента инициализированных данных типа far..fardata? [имя] Сегмента неинициализированных данных типа far.

Модели памяти ИмяКодДанОпределениеОписание Tinynear cs=ds=ss=dgroupДля.com программ Smallnear cs=_text ds=ss=dgroup Для небольших и средних программ (.exe). Для программ на ассемблере. Medium farnear cs= _text ds=ss=dgroup Несколько сегментов кода. Для боль- ших программ с малым V данных. Compa ct nearfar cs=_text ds=ss=dgroup Сегмент кода 64К. V данных не ограничен. Largefar cs= _text ds=ss=dgroup Размер кода и данных не ограничены. Для больших программ. V 1 пер

Список имен, связанных с упро- щенным определением сегментов ИмяЗначение: Физический типа данных типа типа данных типа

Пример.model small.stack 256.data Xdb10 dup(?).code Mainproc mov mov ds,ax mov ax,5.exit 0 Main endp end main