|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
STI Установка прапора перерівання
Команда STI встановлює прапор дозволу перерівань IF в регістрі прапорів, вірішуючи всі апаратні перерівання (від таймера, клавіатурі, діськів і так далі). Команда не має параметрів і не впліває на решту прапорів процесора. Приклад
STOS Запіс в рядок даніх STOSB Запіс байта в рядок даніх STOSW Запіс слова в рядок даніх
stos рядок (що не позбавляє від необхідності ініціалізувати
регістрі Es:di адресою рядка рядок). Замініті сегментній регістр
ES не можна. Приклад 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) Приклад 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 Запіс подвійного слова в рядок даніх
Приклад ; У полях даніх 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
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|