| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > команда условного перехода |
| Автор: Dreamuchiy 30.4.2011, 01:13 |
| Ребята не могу сообразить. В общем надо краткий переход по условию: если x=>y (переход туда то ) или если x>y (переход туда то) всеравно или аналогично наоборот если x<=y (переход туда то) или если x<y (перехед туда то ) в конкретном случае если на словах то проверка AL и если AL не более 9 то прибавляется 48, в противном случае прибавляется 65 (это тупо преобразование значения младшей половинки байта в код acsll или как его там) JC ИЛИ JNC ? или еще что? я плохо еще знаю асм под x86 знаю. Ранее и очень давно под z80 что то пробовал писать. Заранее спасибо за помощь ! |
| Автор: Mikl_ 30.4.2011, 06:54 | ||
Dreamuchiy, команды JC (переход если ПЕРЕНОС), JB (переход если МЕНЬШЕ) и JNAE (переход если НЕБОЛЬШЕ и НЕРАВНО) синонимы и соответствуют команде с кодировкой 72XXh. Команды JNC (переход если НЕТ ПЕРЕНОСА), JNB (переход если НЕМЕНЬШЕ) и JAE (переход если БОЛЬШЕ или РАВНО) также синонимы и соответствуют команде с кодировкой 73XXh, но прямо противоположны по смыслу команде JC/JB/JNAE.
|
| Автор: Игорь1024 30.4.2011, 12:33 |
| Dreamuchiy, вот тебе сайтец с полным описанием команд. Особо удобно там расположены условники http://faydoc.tripod.com/cpu/ |
| Автор: Dreamuchiy 30.4.2011, 22:39 |
| Спасибо ребята ! |
| Автор: xRom2 10.5.2011, 20:22 | ||
Запомни 4 слова: above, below, less, greate, то есть больше/меньше для беззнаковых и знаковых сравнений и соответствующие им команды: ja/jna jb/jnb jl/jnl jg/jng ну про zero думаю и так понятно что jz/jnz Этого достаточно. Но я бы сравнениями не увлекался, а завел в памяти переменную _digit db '0123456789ABCDEF' и пользовался бы xlatb |