Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 78

Команды-синонимы условного перехода.

23.03.2012, 22:21. Показов 3120. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите все команды-синонимы среди команд условного перехода, и объясните, почему они являются синонимами (ну кроме использования одинаковых значений флагов). И почему разработчики архитектуры x86 добавили команды-синонимы? Например, команды JZ и JE – синонимы, так как осуществляют переход при ZF = 0. Какие ещё есть?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2012, 22:21
Ответы с готовыми решениями:

Операторы условного перехода
Ребят....у меня поблема....задача работает совсем не правильно...помогите разобраться...все норм-компилиться но результат совсем не...

Команды перехода.
Имеется такой вот код: title prog ; c=<A=<d .286p .MODEL Large,C LOCALS @@ .DATA EXTRN C array:DWord,n:Word,c:DWord,d:DWord ...

Команды перехода
Уважаемые форумчане, необходим любой код на Assembler, имеющий как можно больше различных команд передачи управления, некие манипуляции,...

1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
24.03.2012, 04:21
Цитата Сообщение от 13xXx13 Посмотреть сообщение
почему разработчики архитектуры x86 добавили команды-синонимы?
13xXx13, C чего ты это взял? Разработчики архитектуры x86 создали 16 команд перехода по условию, а вот создатели компиляторов называли их по разному, в зависимости от места применения, поэтому и появились команды синонимы.
КомандаУсловие код команды Значение флагов
JO переполнение (overflow) 01110000XXXXXXXX OF = 1
JNO нет переполнения (no overflow) 01110001XXXXXXXX OF = 0
JB/JNAE/JC ниже (below) /не выше и не равно (neither above nor equal) /перенос (carry)01110010XXXXXXXX CF = 1
JNB/JAE/JNCне ниже (not below) /нет переноса (not carry)/выше или равно (above or equal) 01110011XXXXXXXX CF = 0
JE/JZ равно (equal) /ноль (zero) 01110100XXXXXXXX ZF = 1
JNE/JNZ не равно (not equal) /не ноль (not zero) 01110101XXXXXXXX ZF = 0
JBE/JNA ниже или равно (below or equal) /не выше (not above) 01110110XXXXXXXX CF or ZF = 1
JNBE/JA выше (above) /не ниже и не равно (neither below nor equal) 01110111XXXXXXXX CF or ZF = 0
JS знак есть (sign) /отрицательное число 01111000XXXXXXXX SF = 1
JNS знака нет (no sign) /положительное число 01111001XXXXXXXX SF = 0
JP/JPE четное (parity)/паритет четный (parity even) 01111010XXXXXXXX PF = 1
JNP/JPO паритет не чётный (parity odd)/не четное (no parity) 01111011XXXXXXXX PF = 0
JL/JNGE меньше (less) /не больше и не равно (neither greater nor equal) 01111100XXXXXXXX SF xor OF = 1
JNL/JGE не меньше (not less) /больше или равно (greater or equal) 01111101XXXXXXXX SF xor OF = 0
JLE/JNG меньше или равно (less or equal) /не больше (not greater) 01111110XXXXXXXX (SF xor OF) or ZF = 1
JNLE/JG больше (greater) /не меньше и не равно (neither less nor equal) 01111111XXXXXXXX (SF xor OF) or ZF = 0

Смотрим Kris Kaspersky "Тонкости дизассемблирования (дизассемблирование в уме)"
Если подходить к командам условного перехода с позиции машинной кодировки команд, то четыре старших бита команды (для микропроцессора i8086) содержат код 7, а четыре младших бита команды обозначают условие операции. Условие задается в битах 1-3, а установка бита 0 приводит к его инверсии.
номер бита 7-4 3-1 0
значениеКод операции Условие Инверсия
Те же самые биты используются и при кодировке команд SETcc и CMOVcc (код операции F9 для команд SETcc и F4 для CMOVcc, кроме того в кодировке команд CMOVcc, как и в коде любой команды MOV, будут присутствовать биты режима, биты адреса регистра приемника и биты адреса регистра источника). Как видишь, условий совсем немного, и проблем с их запоминанием обычно не возникает. Теперь уже не нужно мучительно вспоминать jz – это 74h или 75h. Так как младший бит команды равен нулю, то jz – это 74h, а jnz, соответственно, 75h.
Код Мнемоника Условие
000 O Переполнение
001 B, NAE, С Меньше
010 Z Равно
011 BE, NA Меньше или равно
100 S Знак
101 P, PE Четно
110 L, NGE Меньше (знаковое)
111 LE, NG Меньше или равно (знаковое)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2012, 04:21
Помогаю со студенческими работами здесь

Команды безусловного перехода. Типы переходов
Ввод и преобразование чисел в языке Ассемблера. Гуглил, гуглил, так и не нашел то, что нужно, либо просто не знал что это то, что...

Вычислить выражение с использованием команды условного перехода
Вычислить выражение с использованием команды условного перехода. у=27-(7а+8b) если А>В и 11в+17 если А<=В

Команды передачи управления (команды условного и безусловного переходов)
Необходимо определить переменные А, В, С как знаковые байтовые переменные. Написать программу выполняющую следующие действия: Если одна из...

Не работает цикл после условного перехода jg
Добрый день! Буду благодарна, если укажете мне на ошибку в коде. Изначальная суть задачи: все большие буквы в введенной строке превратить в...

Команды условного перехода
Здравствуйте, до боли простая задача: реализовать условный переход, если загруженное значение <= константы. Написанный код следующий: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru