Как это ни странно прозвучит, но ассемблер - это довольно гибкий язык, и добиться одного и того же результата здесь можно разными способами. Я уже рассказывал об альтернативе таких команд как RET, CALL и JMP. А сегодня о том, как организовать цикл без использования команды LOOP (про цикл с этой командой можно посмотреть видео здесь).
Пример:
Здесь вместо одной команды LOOP мы использовали две команды:
- DEC - для уменьшения счётчика циклов
- JNZ - для проверки обнуления счётчика (переход на метку, если счётчик не равен нулю)
И это будет работать точно также, как и команда LOOP.
Правда, вместо одной команды у нас получилось две. С другой стороны, на некоторых старых процессорах такой код будет работать быстрее, чем с использованием LOOP. Ну и опять же это помогает понять, как работает компьютер и что делают разные команды процессора.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.