Меня смущает сравнение и прыжки в сборке
Я хочу ввести
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 camp eax, 1 jmp quit2 l1: mov edx, смещение num3 вызов позвонить по телефону MOV EDX, смещение NUM2 вызов позвонить теленку
1 ответ
Решение
- Ты уверен насчет "jmp"? не должно ли это быть 'Je'?
- Насколько я знаю, сохраняется только последний результат cmp. Поэтому, если вы напишете две последовательные команды cmp, первая не будет иметь никакого эффекта. Вы должны проверить результат сразу после любой команды cmp.
- Если вы прыгаете сразу после проверки случая 10, вы никогда не сможете проверить случай 11.