Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Команда STOSB
Лучшие книги по Ассемблеру
Сделал подборку не новых, но проверенных книг по программированию на языке ассемблера. Если вы также как и я любите погружаться на низкий уровень, в те закоулки мира программирования, куда не всем путь открыт, то посмотрите. Возможно, что-то вам понравится. Подробнее... |
Команда STOSB в Ассемблере записывает байт из регистра AL в память по адресу ES:[DI], и изменяет SI. Синтаксис:
STOSB
С помощью этой команды можно заполнить массив байтов, адрес которого указан в DI.
Команда не имеет операндов. При выполнении команды флаги не изменяются.
Алгоритм работы:
- ES:[DI] = AL
- Если DF = 0, то DI = DI + 1
- Иначе DI = DI - 1
Подробнее про флаг DF можете почитать здесь.
Таким образом с помощью инструкции STOSB можно заполнить массив байтов значением, которое находится в регистре AL. Перед вызовом этой команды надо адрес массива записать в ES:[DI].
Пример на ассемблере:
.model tiny .code ORG 100h start: LEA DI, mas ;Адрес массива данных в DI MOV AL, 15h ;Значение, которым будем заполнять массив (15h) MOV CX, 5 ;Количество байтов для заполнения REP STOSB ;Заполнить массив байтов RET mas DB 5 DUP(0) END start
До выполнения программы в массиве находятся mas
нули:
После выполнения программы во всех элементах массива будет значение 15h:
Напоследок, как всегда, о происхождении аббревиатуры STOSB.
STOSB - это STOre String Bytes (записать строку байтов). Почему строку? Потому что в большинстве случаев эта команда используется для работы со строками.
Подписаться на Дзен-канал
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
Первые шаги в программирование
Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее... |