STOSB Запись в строку из байтов

Флаги не меняются.

Команда:

STOSB

Логика

(ES:DI) = AL
                     if DF = 0
                         DI = DI + 1
                     else
                         DI = DI - 1 

Команда STOSB копирует байт, расположенный в AL, в место памяти, на которое указывает ES:DI, а также инкрементирует или декрементирует DI (в зависимости от состояния признака направления DF), чтобы подготовиться к копированию AL в следующий байт памяти.

Операнды Такт байты (слова)ОбращенияБайтыПример
нет операндов111 1STOSB
(повтор)9+10/rep1/rep1REP STOSB

Пример.
Если команду записи в строку использовать в сочетании с префиксом REP, то такая команда будет полезна для инициализации блока памяти; следующий пример иллюстрирует инициализацию стобайтового блока памяти, расположенного по адресу BUFFER, в 0 :

MOV  AL,0      		;значение,которое присваиваем
                            ;при инициализации
LEA  DI,BUFFER 		;загружаем стартовый адрес блока памяти
MOV  CX,100    		;размер блока памяти
CLD            		;будем двигаться в прямом направлении
REP  STOSB          	;сравните эту строку с ПРИМЕРом для STOS
Hosted by uCoz