Безусловные и условные пыжки.
-
Иногда код ассемблера необходимо с делать с условием пример фильтр свой чужой. Реализовать это можно сравнением двух адресов и задать условие. Сравнение задаётся командой cmp, после которой идёт условие прыжка , после которого выполняется ваш код. пример мы нашли смещение от адреса число которое равно 1 от начала структуры адреса игрока и нам надо если оно равно чтоб здоровье было больше. и так пишем наш код.
cmp [eax+1234],1 // сравнили наш адрес фильтра с единицей
jne code // если не равно прыжок на метку code
mov [eax+40],#99999 // а если равно
кроме метки code могут быть безымянные метки
@F прыжок в перёд
@B прыжок назад
пример
cmp [eax+1234],1 // сравнили наш адрес фильтра с еденицей
jne @F // если не равно прыжок в перёд
mov [eax+40],#99999 // а если равно
также есть чистая безымянная метка которая позволит сделать два условия
@@: безымянная метка
пример с этим же кодом
cmp [eax+1234],1 // сравнили наш адрес фильтра с единицей
jne @F // если не равно прыжок в перёд
mov [eax+40],#99999 // а если равно
@@: // прыжок на безымянную метку
mov [eax+40],0 // если [eax+1234],1 не равен это наш враг и с метки @@: не наш игрок умирает
Теперь таблица условных прыжков и переходов:
JA прыжок, если выше
JAE прыжок, если выше или равно
JB прыжок, если ниже
JBE прыжок, если меньше или равно
JC Прыгает, если перенос
JCXZ прыжок, если равно нулю
JE прыжок, если равно
JG прыжок, если больше
JGE прыжок, если больше или равно
JL прыжок, если меньше
JLE прыжок, если меньше или равно
Прыжок JNA, если не выше
JNAE прыжок, если не выше или не равно
Прыжок JNB, если не ниже
JNBE прыжок, если не ниже или не равно
Переход JNC, если не выполняется перенос
JNE прыжок, если не равно
Переход JNG, если не больше
JNL прыжок, если не меньше
JNO переходит, если не переполнено
JZ прыжок если равно нулю.
Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.
Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост может стать ещё лучше 💗
Зарегистрироваться Войти