Все про Assembler українською мовою на сайті net.kr.ua

 

:: Меню ::

Головна
Введення
Архітектура реального режиму
Основи програмування
Команди і алгоритми
Розширені можливості сучасних мікропроцесорів
Система команд процесорів Intel
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

  В нашей компании медицинский туризм в витебске на лучших условиях.
 

:: Лічильники ::

=

 

 

 

 

fff00e50

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)

Приклад 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

-

:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Популярне ::

-


:: Посилання ::

-


 

 

 


Copyright © net.kr.ua, 2019-2025 (assem.us)