Инструкция LOOP не может зациклиться, хотя (--cx!= 0)
Я реализую алгоритм умножения для школы, поэтому, пожалуйста, не помогите с алгоритмом. Я использую соглашения о подпрограммах C, поэтому мне не нужно нажимать CX, и результат возвращается в DX: AX. я использую codeview
делать отладку.
На линии LOOP CX равен 16:
После перехода с F10, я считаю, это должно вернуть меня к shiftR
этикетка. Что происходит, так это то, что CX становится 0, и я продолжаю выходить из подпрограммы, как показано на этом скриншоте:
Также вы можете видеть, что флаги Carry и Overflow устанавливаются после перехода! Я не думал, что LOOP может это сделать? Что дает? Что я пропускаю?
1 ответ
Решение
Решено: я прыгнул пистолет. Как David Wohlferd, F8 step
и F10 это next
используя терминологию GDB.