Непосредственная адресация

Величина операнда i (impendence) непосредственно указывается в поле команды и может быть задана числом в десятичной, двоичной и шестнадцатеричной системах счисления (последний символ числа должен быть, соответственно, D (или никакой), B и H) или идентификатором, а также задана простым выражением, в котором указанные элементы связаны символами арифметических операций: +, -, * и /. Идентификатор (с соответствующим именем, например, const) должен быть предварительно описан в программе директивой типа: const equ 1024 или const = 1024.

Примеры непосредственной адресации:

MOV AX, 1024D; MOV AL, 64; MOV BX, 1AH; MOV CH, 1011B;

MOV AX, const; MOV AX, 156*10H/2

и т. п.

Следует помнить, что диапазон чисел, посылаемых в регистры, ограничивается вместимостью последнего: в 1-байтовый регистр (AH, AL, BH и т. д.) можно посылать числа в диапазоне от 0 до +255 (целое без знака) или от –128 до +127 (целое со знаком); в 2-байтовый регистр (AX, BX, CX и т. д.) — от 0 до +65 535 (целое без знака) или от –32 768 до +32 767 (целое со знаком).

Прямая адресация регистров МПП

В качестве адреса операнда указывается имя регистра (его символьное обозначение: AX, AL, AH, BX, BL и т. д.). Примеры:

MOV AX, BX

MOV BX, DX

MOV AH, BL

Необходимо следить, чтобы разрядность второго операнда (его регистра) соответствовала разрядности принимающего регистра.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: