Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Команда JBE
Лучшие книги по Ассемблеру
Сделал подборку не новых, но проверенных книг по программированию на языке ассемблера. Если вы также как и я любите погружаться на низкий уровень, в те закоулки мира программирования, куда не всем путь открыт, то посмотрите. Возможно, что-то вам понравится. Подробнее... |
Команда JBE выполняет короткий переход, если первый операнд МЕНЬШЕ или РАВЕН второму операнду при выполнении операции сравнения с помощью команды CMP.
Синтаксис команды JBE:
JBE МЕТКА
О метках я рассказывал в статье о команде JMP. Повторяться не буду.
Инструкция JBE проверяет флаги CF и ZF. Если любой из этих флагов равен 1, то выполняется переход к МЕТКЕ.
Сама же инструкция JBE при работе никакие флаги не изменяет.
Как видите, от инструкции JB эта команда отличается только тем, что проверяет не один, а два флага - CF и ZF. То есть если инструкция JB выполняет переход, если меньше, то инструкция JBE выполняет переход в любом из двух случаев:
- Если первый операнд меньше второго
- ИЛИ первый операнд равен второму
Напомню также, что команда JBE, также как и команда JB, выполняет в ассемблере условный переход.
Пример использования команды JBE приведён ниже:
.model tiny .code ORG 100h start: MOV AL, 6 ; AL = 6 MOV AH, 5 ; AH = 5 CMP AL, AH ; AL > AH, ZF = 0, CF = 0 JBE lblJBE ;Так как AL > AH, то УСЛОВИЕ ПЕРЕХОДА НЕ ВЫПОЛНЯЕТСЯ ;Поэтому будут выполнены следующие инструкции MOV AL, 5 ; AL = 5 MOV AH, 6 ; AH = 6 CMP AL, AH ; AL < AH, ZF = 0, CF = 1 JBE lblJBE ;Так как AL < AH, то УСЛОВИЕ ПЕРЕХОДА ВЫПОЛНЯЕТСЯ ;Поэтому следующие инструкции НЕ будут выполнены, ;а будет переход сразу к метке lblJBE lblJBE2: MOV AH, 9 ; AH = 6 lblJBE: MOV AL, AH ; AL = 6 при первом заходе, ZF = 1 ; и 9 - при втором, ZF = 0 MOV AH, 6 ; AH = 6 CMP AL, AH ; AL = AH при первом заходе, ; AL > AH при втором JBE lblJBE2 MOV AH, 15 END start
В комментариях всё подробно расписано, поэтому что-то ещё добавлять нет смысла. Если нужно более подробно, то см. видео выше.
В конце попробую предположить, почему эта команда ассемблера называется JBE. Возникновение сокращения JB я попытался разъяснить здесь. А буква Е - это первая буква слова EQUAL (одинаковый, равный). Таким образом набор слов, от которых взяты первые буквы имени команды JBE, можно перевести как “переход, если меньше или равно”.
Подписаться на Дзен-канал
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
Первые шаги в программирование
Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее... |