Инструкция 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.

Другие вопросы по тегам