Иллюстрированный самоучитель по 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-битовая ячейка памяти.

 




Начало  Назад  Вперед



Книжный магазин