Перейти к содержанию

Чем можно заменить условный переход.


Рекомендуемые сообщения

Столкнулся с проблемой.

В скрипте очень большое количество фильтров.

И мне кажется некоторые из фильтров уже не срабатывают.

 

Покопался в интернете и нашёл:

"Условные переходы могут делать только ближний прыжок, а команда jmp может делать и короткий и дальний прыжки. "

А скрипт давно уже превысил размер в 127 байт. (короткий прыжок).

Получается, что условный переход в скрипте уже не работает.

Чем можно заменить в скрипте условный переход, но при этом, чтобы условие "равно/не равно" проверялось?

Помогите, а то подзавис со скриптом. 

 

Заранее Большое СПАСИБО!!!


Вроде разобрался.

У меня было так:

cmp 1je ...cmp 2je ...cmp 3je ...cmp 4je ...cmp 5je ...// и т.д. 

Заменил на связку:

cmp 1jne @fjmp .....@@:cmp 2jne @fjmp ....@@:cmp 3jne @fjmp .....@@:cmp 4jne @fjmp .....@@:cmp 5jne @fjmp .....@@:

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

Ссылка на комментарий
Поделиться на другие сайты

Как вариант:

cmp 1jne @F// выполняем код, если не "не равно"@@:cmp 2jne @F// выполняем код, если не "не равно"@@:cmp 3jne @F// выполняем код, если не "не равно"@@:cmp 4jne @F// выполняем код, если не "не равно"@@:cmp 5jne @F// выполняем код, если не "не равно"@@:...
Но это зависит от самого скрипта, т.е. от его "архитектуры".

Кроме "@F" (прыжок вперед на безымянную метку) есть также "@B" (прыжок назад на безымянную метку). Так - просто, для справки :)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.