"Если результат равен 1" - такой команды нет. Потому что команды условных переходов проверяют состояние флагов процессора. Переход, если не 0 (флаг ZF=0) - jnz. Но например команда not и еще некоторые не изменяют флаги состояния, так что, например, в этом коде перехода не будет:
xor eax, eax
not eax
jnz @f
Если тебе нужна конкретно 1, то лично я делал так:
xor eax, 1
jz @f
(но только значение eax портится, но мне оно было и не особо нужно)
если в eax была 1, то eax станет 0, и флаг ZF установится в 1
Но можно использовать вобщем-то и cmp
cmp eax, 1 ; cmp - это как sub, но который не сохраняет результат. Если из 1 вычтет 1, то флаг ZF установится в 1
jz @f ; или je, которую наиболее удобно применять как раз после cmp (jump if equal), это одна и та же команда
Если чего еще непонятно, стучи в Агент (но тока он невидим и QIP Infium)
Вот табличка SETcc/Jcc (хм. . надо будет туда еще CMOVcc дописать)
J/SETAJump/set если большеCF=0 and ZF=0
J/SETAEJump/set если больше/равноCF=0
J/SETBJump/set если меньшеCF=1
J/SETBEJump/set если меньше/равноCF=1 or ZF=1
J/SETCJump/set если CarryCF=1
J/SETEJump/set если равноZF=1
J/SETGJump/set если большеZF=0 and SF=OF
J/SETGEJump/set если больше/равноSF=OF
J/SETLJump/set если меньшеSF <> OF
J/SETLEJump/set если меньше/равноZF=1 or SF <> OF
J/SETNAJump/set если не большеCF=1 or ZF=1
J/SETNAEJump/set если не больше/равноCF=1
J/SETNBJump/set если не меньшеCF=0
J/SETNBEJump/set если не меньше/равноCF=0 and ZF=0
J/SETNCJump/set если не CarryCF=0
J/SETNEJump/set если не равноZF=0
J/SETNGJump/set если не большеZF=1 or SF <> OF
J/SETNGEJump/set если не больше/равноSF <> OF
J/SETNLJump/set если не меньшеSF=OF
J/SETNLEJump/set если не меньше/равноZF=0 and SF=OF
J/SETNOJump/set если не переполнениеOF=0
J/SETNPJump/set если нечетныйPF=0
J/SETNSJump/set если не знакSF=0
J/SETNZJump/set если не нольZF=0
J/SETOJump/set если переполнениеOF=1
J/SETPJump/set если четныйPF=1
J/SETSJump/set если знакSF=1
J/SETZJump/set если нольZF=1
JCXZJump если CX=0CX=0
JECXZJump если ECX=0ECX=0
JRCXZJump если RCX=0RCX=0
JMPБезусловный переход
** В *p / *np описание неправильное (я её себе прсото тупо скопировал) . Флаг P устанавливается в 1, если чётно число значащих битов младшего байта результата, установленных в 1 и в 0, а не сам результат чётный (то есть если последний бит=0). Например
xor eax, eax
or eax, 100111b ; PF=1
Другие языки программирования и технологии
Ассемблер. Команда условного перехода, если результат равен 1???
Нет такой, есть только если 0. Или не 0.
Похожие вопросы
- Помоги те решить пример на языке ассемблера (c/4 - d*62)/(a*3 + 1)
- Данные входят в состав команд компьютера в виде... Варианты ответов: 1. предикатов2. функций3. инструкций4. операндов
- Выполнение команд ассемблера в МП
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...
- Условные вычисления на языке Ассемблер.
- Что может ассемблер?
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- Ассемблер сегодня и завтра.
- помогите с ассемблером (i8085) Программа должна считать количество нулей в ячейке. Какие команды использовать?