S
Пример 2:
;В полях данных сегмента данных, адресуемого через ES: array dw 10000 dup (?); Место под массив слов ; В программном сегменте: mov AX,-1; Число-заполнитель mov CX,10000; Заполнить 10000 слов сld; Движение по строке вперед lea DI,array; ES:DI ® array rep stosw; Bce 10000 элементов массива ;получают значение – 1 (FFFFh)
Пример 3:
;В полях данных сегмента данных, адресуемого через ES: line db 80 dup (' '); Пустая пока строка ;В программном сегменте: mov AL,'>'; Код ASCII знака '>' mov CX,5; Заполнить 5 слов eld; Движение по строке вперед lea DI,line; ES:DI › line rep stos line; Первые 5 байт строки line ;заполняются кодом ASCII ;знака ' >'
Пример 4:
;В полях данных сегмента данных, адресуемого через ES: line dw 80 dup (0); Строка, заполненная нулями ;В программном сегменте: mov AL,'>'; Код ASCII знака '>' mov AH,31h; Атрибут (синий по бирюзовому) mov CX,5; Заполнить 5 слов сld; Движение по строке вперед lea DI,line; ES:DI – " line rep stos line; Первые 5 слов строки line ;заполняются кодом ASCII ;знака '>'вместе с атрибутом ;для последующего вывода на экран
386+ STOSD Запись двойного слова в строку данных
Команда аналогична командам МП 86 stosb и stosw, но позволяет записать в строку, адресуемую через регистры ES:EDI, двойное слово из регистра ЕАХ.
Пример:
; В полях данных dat dd 12789.2.550000.100000 ; В программном сегменте mov ЕАХ,444777 push DS pop ES; ES=DS mov DI, off set dat add DI,4*2; DS:SI – " 3-й элемент массива чисел stosd; dat=12789.2.444777.100000