Главная /
Ассемблер /
Для чайников /
Введение в Ассемблер /
Циклы в ассемблере
|
Лучшие книги по Ассемблеру
Сделал подборку не новых, но проверенных книг по программированию на языке ассемблера. Если вы также как и я любите погружаться на низкий уровень, в те закоулки мира программирования, куда не всем путь открыт, то посмотрите. Возможно, что-то вам понравится.
Подробнее...
|
Что такое цикл? Это последовательность одинаковых (точнее, похожих) операций. Подробнее о циклах можно узнать
здесь. А сейчас о том, как можно организовать цикл на языке ассемблера.
Для начала мы должны понимать, сколько раз будет выполнен цикл. Допустим, мы хотим возвести число в степень. Для этого нам надо умножить его на само себя заданное количество раз. Например, 2 в 5-й степени это:
2 * 2 * 2 * 2 * 2 = 32 = 20h
Чтобы в ассемблере возвести число в степень, мы можем просто в цикле умножить это число на само
себя заданное количество раз. Для этого в счётчик - в регистр CX нам надо записать это количество раз. Например, если мы хотим, чтобы цикл выполнился 5 раз, то в этот регистр надо записать число 5.
Однако в нашем примере, хотя мы и возводим число в 5-ю степень, цикл должен быть выполнен 4 раза. Почему? Просто посчитайте знаки * в примере выше. Их четыре. То есть нам надо будет выполнить 4 операции умножения, поэтому и количество выполнений цикла должно быть на единицу меньше, чем значение степени, в которую мы возводим число.
Ну а организовать цикл можно с помощью инструкции LOOP. Вот пример:
.model tiny
.code
ORG 100h
start:
MOV AL, 2 ; Число
MOV BL, 2 ; Множитель
MOV CX, 4 ; Степень минус 1
; Возводим число AL в степень (СХ+1)
power:
MUL BL
LOOP power
; Здесь AX = 20 = 32 = 2 в 5-й степени
RET
END start
В примере достаточно комментариев, поэтому пояснять что-то еще нет смысла. Если что-то ещё осталось непонятным, посмотрите видео:
На этом пока всё. Подключайтесь к группе Основы программирования в Телеграм, или к другим каналам (ссылки ниже), чтобы ничего не пропустить.
|
Первые шаги в программирование
Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься».
У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение.
Подробнее...
|