Шаг 28.
Переходы для беззнаковых и знаковых данных

    На этом шаге мы рассмотрим переходы, одинаково выполняющиеся как для знаковых, так и беззнаковых данных .

    Перечислим переходы, которые выполняются одинаково как для знаковых, так и для беззнаковых данных.

  1. JE/JZ - переход, если равно/переход по нулю. Команды передают управление по адресу, указанному в операнде, при условии равенства единице флага ZF. В противном случае выполняется следующая команда. Переход осуществляется в диапазоне от -128 до + 127 байт.


        Пример. Пусть в АХ записано число FFFFH и выполняется следующая последовательность команд:
              INC AX
              JE OUTPUT
              ADD AX,4000h
              RET
      OTPUT:  MOV BX,1                             .
    

        Первая команда устанавливает флаг ZF в 1. После выполнения команды JE OUTPUT управление передается на метку OUTPUT. Это означает, что содержимое регистра AX равно нулю.

  2. JNE/JNZ - переход по неравенству/переход, если не нуль. Переход осуществляется, если флаг ZF равен 0. Все остальные условия применения этой команды аналогичны предыдущей.


        Пример. Пусть регистр ВХ содержит число 0457Н и выполняется следующая последовательность команд:
               DEC BX
               JNE OUTPUT
               ADD AX,4000H
               RET
     OUTPUT:   MOV AX,1                        .
    
    Первая команда сбрасывает в 0 флаг ZF. После выполнения команды JNE OUTPUT управление передается на метку OUTPUT. Это означает, что содержимое регистра BX не равно нулю.

    На следующем шаге мы рассмотрим переходы для беззнаковых данных.




Предыдущий шаг Содержание Следующий шаг