Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Директивы (псевдооператоры)



1.: - определяет близкую метку (в пределах сегмента).

jmp lbl........lbl:....

2. = - присваивает символическому имени значение выражения.

videoram = 0B800h; присвоение videoram = 0B000h;

3. .CODE - определяет начало кодового сегмента, то есть сегмента, где располагаются коды программы.

4. .DATA - определяет начало сегмента данных.

5. DB,DW - директивы резервирующие один или несколько байтов: DB, или одно или несколько слов: DW.

.....DATAfibs DB 1,1,2,3,5,8,13rus DB 'Турбо Ассемблер'buf DB 80 DUP(0);резервируется 80 байтов,каждый обнуляетсяint DW 65535;в двух байтах располагается число FFFFh.Array DW 100 DUP (0);резервируется 100 слов

6. END - обозначает конец программы.

.....CODEMyPROG:....; точка входа (начало программы).....; команды программы.... END MyPROG

7. ENDM - окончание блока или макроопределения

8. ENDP - обозначает конец подпрограммы.

9. EQU - присваивает символическому имени или строке значение выражения.

BlkSize EQU 512BufBlks EQU 4BufSize EQU BlkSize * BufBlks

10. LABEL - определяет метку соответствующего типа.

.....DATAm_byte LABEL BYTE;метка m_byte типа BYTE позволяет теперьm_word DW 0;иметь доступ отдельно к каждому байту данных.CODE;m_word типа WORD.... mov [m_word],0204h add [m_byte],'0';теперь в m_word хранится код add [m_byte+1],'0';3234h,ASCII код '0' равен 30h

11. LOCAL - определяет метки внутри макроопределений как локальные и в каждом макрорасширении вместо них ассемблер вставляет уникальные метки:??XXXX, где XXXX = (0000...FFFF)h. Почему??XXXX? Да потому что никому не должно прийти в голову начинать символическое имя с??, и транслятор смело может генерировать метки не боясь совпадений.

12. MACRO - задает макроопределение.

Swap MACRO a,b; a,b - параметры макро (ячейки памяти) mov ax,b;данное макрооопределение позволяет делать mov bx,a;обмен данными между ячейками памяти, в mov a,ax;отличие от команды xchg; mov b,bx;нельзя mov a,b; ENDM

Вызов этого макроса производится командой: Swap m,n

13. .MODEL - определяет размер памяти под данные и код программы.

.MODEL tiny;под программу,данные и стек отводится один общий сегмент (64 Kb).

14. PROC - определяет начало подрограммы.

Print PROC NEAR;здесь команды подпрограммыPrint ENDP.... call Print;вызов подпрграммы.

15. .STACK - определяет размер стека.

.STACK 200h; выделяет 512 байтов для стека.

16. .RADIX base - определяет систему счисления по умолчанию, где base - основание системы счисления: 2, 8, 10, 16.

.RADIX 8oct = 77; oct равно 63d.

17.; - начало комментария.





Дата публикования: 2015-01-23; Прочитано: 378 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...