'

Определение констант для размещения их компилятором в составе инструкций языка

Понравилась презентация – покажи это...





Слайд 0

Определение констант для размещения их компилятором в составе инструкций языка Определение числовых констант: имя = значение PI=3.141592 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


Слайд 1

Операторы, формирующие выражения D dw 20 dup(?)


Слайд 2

Операторы, формирующие выражения D dw 20 dup(?) Y=1234h $ - текущее значение счетчика команд компилятора


Слайд 3

Операторы, формирующие выражения Y=1234h


Слайд 4

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


Слайд 5

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


Слайд 6

Косвенная адресация Для любых процессоров Могут использоваться регистры 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]


Слайд 7

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


Слайд 8

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


Слайд 9

Ближние и дальние адреса Короткий адрес (байт) 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 байта)


Слайд 10

Упрощенные директивы описания сегментов


Слайд 11

Модели памяти


Слайд 12

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


Слайд 13

Пример .model small .stack 256 .data X db 10 dup(?) .code Main proc mov ax,@data mov ds,ax mov ax,5 .exit 0 Main endp end main


×

HTML:





Ссылка: