Шаг 28.
Переходы для беззнаковых и знаковых данных
На этом шаге мы рассмотрим переходы, одинаково выполняющиеся как для знаковых, так и беззнаковых данных .
Перечислим переходы, которые выполняются одинаково как для знаковых, так и для беззнаковых данных.
- JE/JZ - переход, если равно/переход по нулю. Команды передают управление по адресу,
указанному в операнде, при условии равенства единице флага ZF. В противном случае выполняется следующая
команда. Переход осуществляется в диапазоне от -128 до + 127 байт.
Пример. Пусть в АХ записано число FFFFH и выполняется следующая последовательность команд:
INC AX
JE OUTPUT
ADD AX,4000h
RET
OTPUT: MOV BX,1 .
Первая команда устанавливает флаг ZF в 1. После выполнения команды JE OUTPUT управление
передается на метку OUTPUT. Это означает, что содержимое регистра AX равно нулю.
- JNE/JNZ - переход по неравенству/переход, если не нуль. Переход осуществляется, если
флаг ZF равен 0. Все остальные условия применения этой команды аналогичны предыдущей.
Пример. Пусть регистр ВХ содержит число 0457Н и выполняется следующая последовательность команд:
DEC BX
JNE OUTPUT
ADD AX,4000H
RET
OUTPUT: MOV AX,1 .
Первая команда сбрасывает в 0 флаг ZF. После выполнения команды JNE OUTPUT управление
передается на метку OUTPUT. Это означает, что содержимое регистра BX не равно нулю.
На следующем шаге мы рассмотрим переходы для беззнаковых данных.
Предыдущий шаг
Содержание
Следующий шаг