Иллюстрированный самоучитель по Assembler

A

Пример 4:

mov AX,0507h; BCD распакованное 57
add AL,05h; BCD 5, AX=050Ch
aaa; AX=0602h, BCD 62

Пример 5:

mov AL,57h; BCD упакованное 57
add AL,05h; BCD 5, AL=5Ch
daa; AL=62h, BCD 62

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › A Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример:

mov EAX,98765432h
add EAX,11111111h; EAX=A9876543h

AND Логическое И

Команда and осуществляет логическое (побитовое) умножение первого операнда на второй. Исходное значение первого операнда (приемника) теряется, замещаясь результатом умножения. В качестве первого операнда команды and можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго – регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами. Команда воздействует на флаги SF, ZF и PF.

Правила побитового умножения:

Первый операнд-бит 0101

Второй операнд-бит 0011

Бит результата 0001

Пример 1:

mov AX,0FFEh
and AX,5555h; AX=0554h

Пример 2:

; В полях данных:
mem dw 0С003h
;В программном сегменте:
mov AX,700Eh
and AX,mem; AX=4002h

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › A Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример:

mov EDX, 0FA8 8 0 0 4 lh
and EDX,0FF00000Fh; EDX = FA000001h

386P+ ARPL Коррекция запрашиваемого уровня привилегий селектора

Команда aprl сравнивает селектор с образцом, содержащим максимально допустимый уровень привилегий (обычно используется селектор CS) и устанавливает проверяемое значение в соответствии с меньшим из двух уровней привилегий. Если изменение уровня не потребовалось, флаг ZF сбрасывается, если потребовалось – устанавливается. В качестве первого операнда команды aprl может использоваться 16-разрядный регистр или слово памяти с проверяемым селектором; в качестве второго операнда – 16-разрядный регистр с селектором-образцом.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.