В полях данных сегмента данных,
Пример 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
Содержание Назад Вперед