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


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


Команда STI устанавливает флаг разрешения прерываний IF в регистре флагов, разрешая все аппаратные прерывания (от таймера, клавиатуры, дисков и т.д.). Команда не имеет параметров и не воздействует на остальные флаги процессора.

Пример


sti ;Разрешение аппаратных прерываний

STOS Запись в строку данных

STOSB Запись байта в строку данных

STOSW Запись слова в строку данных


Команды предназначены для операций над строками (строкой называется последовательность байтов или слов памяти с любым содержимым). Они копируют содержимое регистра AL (в случае операций над байтами) или АХ (в случае операций над словами) в ячейку памяти соответствующего размера по адресу, определяемому содержимым пары регистров ES:DI. После операции копирования регистр DI получает положительное (если флаг DF=0) или отрицательное (если флаг DF=1) приращение. Величина приращения составляет 1 или 2 в зависимости от размера копируемого элемента.

Вариант команды stos имеет формат

stos строка

(что не избавляет от необходимости инициализировать регистры ES:DI адресом строки строка). Заменить сегментный регистр ES нельзя.

Рассматриваемые команды могут предваряться префиксом повторения rep. В этом случае они повторяются СХ раз, заполняя последовательные ячейки памяти одним и тем же содержимым регистра AL или АХ. Команда не воздействует на флаги процессора.

Пример 1


;В полях данных сегмента данных, адресуемого через ES:

id db 'ID:'

;В программном сегменте:

eld ;Движение по строке вперед

mov DI,offset id+3;DI -> за знаком ':'

mov AL,'3' ;Код ASCII цифры 3

stosb ;Отправим в строку

mov AL,'9' ;Код ASCII цифры 9

stosb ;Отправим в строку

;Теперь в строке id записано 'ID:39'

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




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



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