Что делает инструкция jg на классических процессорах Intel? - PullRequest
1 голос
/ 26 сентября 2011

Для кода:

cmp $5, %eax
jg 804940f

Это сравнивается с помощью% eax - $ 5, а затем устанавливает флаг (ы), если оно больше, равно или отрицательно, правильно? Тогда jg перейдет по этому адресу, если флаги указывают, что% eax больше $ 5?

1 Ответ

3 голосов
/ 26 сентября 2011

Вычитание выполняется, но результат не сохраняется.Затем он устанавливает флаги соответственно.Вы также правы относительно второй строки: если она больше, чем она прыгает, если нет, она пропускает прыжок и продолжает выполнять все, что будет дальше.

РЕДАКТИРОВАТЬ: Если вы новичок в сборке, вы можетеполезно иметь доступ к содержимому регистра флагов.Есть несколько способов сделать это в сборке Intel, если вам нужны младшие 8 битов, вы можете сделать lahf, который загрузит их в ах.Если вам нужно все содержимое регистра, то вы можете использовать pushf и popf.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...