Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПТСПЦУВСБ / 4. Операции и выражения в ассемблере

.docx
Скачиваний:
56
Добавлен:
27.12.2015
Размер:
28.39 Кб
Скачать

4. Операции и выражения в ассемблере.

1. Арифметические операции.

+, -, *, /, mod (эти операции выполняются на этапе трансляции)

pi_int EQU 31416/1000 - целая часть 

pi_rem EQU 31416 mod 1000 - дробная часть 

SHR_N - сдвиговые операции (вправо и влево на N двоичных разрядов.

SHL_R

maska EQU 110010b

maska2 EQU maska SHR_2

2. Логические операции.

Эти операции подразделяются на операции отношения (EQ, NE, LT, LE, GT,GE) и на непосредственно логические (AND, OR, XOR, NOT).

Истина — 0FFFFh

Ложь — 0

mov ax, ((b LT 10) AND 5) OR ((b GE 10) AND 15)

при b=3 предыдущая команда означает: mov ax, 5.

3. Операции со счетчиком размещения программы (СРП).

LC- Location Counter

$- текущее значение СРП, предопределенная переменная.

Message DB ‘Hello!!!’

Mes_leght=$-Message

ORG- директива принудительной установки СРП на константу.

ORG 100h – для *.com

ORG $+99h – изменение СРП на 99 байт по отношению к текущему значению.

EVEN- задает четное значение СРП (выравнивает СРП на ближайшее четное большее текущего).

4. Оператор изменения типа.

<тип> PTR переменная или метка.

B_TABLE DB 40DUP

mov ax, B_TABLE+10

mov ax, word ptr B_TABLE+10

x_word EQU 0FFFCh

xor ax, ax

add al, byte ptr xword ; (AL)=FCh

CALL FAR PTR My_Sub

5. Операции выделения сегментной части адреса и смещения.

SEG - переменная (DS)

OFFSET - метка (СS)

SIZE имя переменной - определяет размер переменной в байтах.

Соседние файлы в папке ПТСПЦУВСБ