Я хочу, чтобы ввестия запутался с сравнением и прыжки в сборке
11,00,01,10 in ebx and eax register.
Everytime i input 01 or 10 i need to jump at l1.
And if i input 11 or 00 i want to quit from the procedure.
Как я могу сделать это. Я пробовал это, но только первые два cmp работают, остальные не работают.
cmp ebx,0 cmp eax,0 je l1 cmp ebx,1 cmp eax,0 jmp quit cmp ebx,1 cmp eax,1 jmp quit2 l1: mov edx,offset num3 call writestring call crlf mov edx,offset num2 call writestring call calf
Я не рекомендую использовать инструкции mutliple cmp в цепочке. Вы недостаточно контролируете поток программы. Попробуйте буферировать один результат, xor соответствующий регистр и снова выдайте cmp, чтобы объединить результаты, а затем продолжить нужную логику. – icbytes
Я не знаю, как использовать буфер. Мой класс еще не сделал буфер. – lhag
Простейший способ сделать несколько 'cmp' вместе с логической операцией AND [s] состоит в том, чтобы сделать первый' cmp', а затем условный переход, например. на 'my_label', а затем на' my_label: 'сделайте второй' cmp' и соответствующий второй условный переход. – nrz