заповнених 0.
Адреса першого байта - R1, другий R1 +1, третього - R1 +2, четвертого - R1 +3
) R2 DB?,?,? ; виділено 3 байта, заповнених випадковими величинами.
) Якщо операндом є символічне ім'я IM1, яке
відповідає зсуву 03АС1h в сегменті, то після виконання
M DD IM1
буде виділено 4 байта пам'яті, подвійне слово з адресою - М. і значенням - 03АС1h.
4) Якщо необхідно виділити 100 байтів пам'яті і заповнити їх 1, то це можна зробити за допомогою спеціального повторювача DUP.
D DB 100 DUP (1)
5) Визначити одновимірний масив слів з адресою першого
елемента масиву, ім'ям MAS і конкретними значеннями можна так:
MAS DW 1, 7, 35, 75, 84
6) Визначення двовимірного масиву ARR (3,4):
Виділили 100 байтів пам'яті, нічим не заповнюючи.
У директиві визначення байта (слова) максимально допустима константа - 255 (65535).
За допомогою директиви визначення байта можна визначити символьну константу довгою 255 символів, а за допомогою визначення слова можна визначити символьну константу, яка може містити не більше двох символів.
12. Команда переривання, команди роботи зі стеком
За допомогою команди переривання призупиняється робота процесора, управління передається DOC або BIOS і після виконання якоїсь системної обробній програми, управління передається команді, наступної за командою Int.
Виконувані дії залежатимуть від операнда, (параметри директиви команди Int) і вмісту деяких регістрів.
Наприклад, щоб вивести на екран символ знак оклику! необхідно виконати три команди:
AH, 6DL,! 21h;
Команда int з параметром 21h передає управління оброблювачу функцій операційної системи, який по вмісту регістра AH визначає яку функцію слід виконати. Функція з номером 6 - це виведення на екран символу, що зберігається в регістрі DL. Процесор виконує програму виведення на екран символу і повертається до виконання поточної програми, починаючи з команди, наступної за int.
Для роботи зі стеком використовуються регістри SS, SP / ESP і BP / EBP.
Сегментний регістр SS містить адресу початку сегмента стека. ОС сама вибирає цю адресу і пересилає його в регістр SS. Регістр SP вказує на вершину стека і при додаванні елемента в стек вміст цього регістра зменшується на довжину операнда.
Додати елемент в стек можна за допомогою команди
PUSH <операнд>,
де операндом може бути як регістр, так і змінна.
Видалити елемент з вершини стека можна за допомогою операції
POP <операнд>.
Для i186 і вище команди PUSHA / POPA дозволяють покласти в стек, видалити з стека вміст всіх регістрів загального призначення в послідовності AX, BX, CX, DX, SP, BP, SI, DI. Для i386 і вище команди PUSHAD / POPAD дозволяють покласти в стек, видалити з стека вміст всіх регістрів загального призначення в послідовності EAX, EBX, ECX...