Иллюстрированный самоучитель по Assembler


STI Установка флага прерывания - часть 2


Пример 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

 




Начало  Назад  Вперед



Книжный магазин