Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по Ассемблеру гр.32.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
158.72 Кб
Скачать

Справочник по Ассемблеру

Целочисленные типы данных в Паскале.

SHORTINT - -128…127 1 байт со знаком

Integer- -32768… 32767 2 байта со знаком

LONGINT - - 4 байта со знаком 2 слова

BYTE – 0…255 – 1 байт без знака

WORD – 0..65535 – 2 байта без знака 1 слово

MOV ADD SUB MUL DIV

Перевод в AX:DX из A

mov ax,word ptr a

mov dx,word ptr a+2

Перевод из AX:DX в A

mov word ptr a,ax

mov word ptr a+2,dx

CMP A,AX

JE @1 (N,E,G,L, A,B)

JMP @1

@1:

Вычисления

Работа с BYTE

var a,b,d1,d2:byte;

a1,c1:word; b1:integer;

begin

read(a,b);

asm

a+b

mov al,a

Пересылаем в регистр al значение переменной а

mov ah,0

Пересылаем в регистр ah 0, чтобы довести значение переменной до word

mov bl,b

Пересылаем в регистр bl значение переменной b

mov bh,0

Пересылаем в регистр bh 0, чтобы довести значение переменной до word

add ax,bx

Складываем полученные регистры ax и bx

mov a1,ax

Пересылаем полученный результат в переменную а1

end;

asm

a-b

mov al,a

Пересылаем в регистр al значение переменной а

mov ah,0

Пересылаем в регистр ah 0, чтобы довести значение переменной до integer

mov bl,b

Пересылаем в регистр bl значение переменной b

mov bh,0

Пересылаем в регистр bh 0, чтобы довести значение переменной до integer

sub ax,bx

Вычитаем из значения регистра ax значение регистра bx

mov b1,ax

Пересылаем полученный результат в переменную b1

end;

asm

a*b

mov al,a

Пересылаем в регистр al значение переменной а

mul b

Умножаем результат регистра al на переменную b (результат записывается в регистр ax)

mov c1,ax

Пересылаем полученный результат в переменную с1

end;

asm

а/b

mov al,a

Пересылаем в регистр al значение переменной а

mov ah,0

Пересылаем в регистр ah 0, чтобы довести значение переменной до word

div b

Делим значение регистра ax на b

mov d1,al

Пересылаем результат деления в переменную d1

mov d2,ah

Пересылаем остаток от деления в переменную d2

end;

writeln('сумма=',a1);

writeln('разность=',b1);

writeln('произведение=',c1);

writeln('частное=',d1);

writeln('остаток=',d2);

end.