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




386P+ STR Сохранение содержимого регистра состояния задачи - часть 2


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

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

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

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

Флаг SF устанавливается в 1, если в результате выполнения команды образовалось число с установленным знаковым битом.

Флаг ZF устанавливается в 1, если в результате выполнения команды образовалось число, состоящее из одних двоичных нулей.

Флаг PF устанавливается в 1, если в результате выполнения команды образовалось число с четным количеством двоичных единиц в его битах.

Пример 1

test AX,1

jne bityes ;Переход, если бит 0 в АХ установлен

je bitno ;Переход, если бит 0 в АХ сброшен

Пример 2

test SI,8

jne bityes ;Переход, если бит 3 в SI установлен

je bitno ;Переход, если бит 0 в АХ сброшен

Пример 3

test DX,0FFFFh

jz null ;Переход, если DX=0

jnz smth ;Переход, если DX не 0

Пример 4

test CX,0F000h

jne bitsyes ;Переход, если какие-либо из

;4 старших битов СХ установлены

je bitsno ;Переход, если все 4 старших бита

; СХ сброшены

Пример 5

test AX,AX

jz zero ;Переход, если АХ=0

jnz notzero ;Переход, если АХ не 0

Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример

test ЕАХ,80000000h

jz b31 ;Переход, если бит 31 ЕАХ равен 0

jnz nob31 ;Переход, если бит 31 ЕАХ равен 1

386Р+ VERR Проверка сегмента на чтение

Команда verr позволяет определить, разрешено ли чтение из сегмента, за которым закреплен селектор, передаваемый команде в качестве ее операнда. Операндом может служить 16-разрядный регистр общего назначения или 16-битовая ячейка памяти.

386Р+ VERW Проверка сегмента на запись

Команда verw позволяет определить, разрешена ли запись в сегмент, за которым закреплен селектор, передаваемый команде в качестве ее операнда. Операндом может служить 16-разрядный регистр общего назначения или 16-битовая ячейка памяти.




Содержание  Назад  Вперед