Page 197 - 149
P. 197
Директива DW. Директива DW (визначити слово - два байти) також
відноситься до директив означення і має такий же формат, як і директива DB.
Одначе тут списком є послідовність виразів, які мають 16-бітові значення.
При виконанні директиви DW обчислюється значення першого виразу і його
молодші 8 бітів запам’ятовуються за поточною адресою, а старші 8 бітів
запам’ятовуються за адресою на одиницю більшу за попередню. Далі
визначається значення другого виразу, процедура запам’ятовування
повторюється для наступних комірок пам’яті і т.д.. Приведемо приклад
використання директиви DW:
Мітка Код Операнд Коментар
ADDR: DW 0FF00H ; (ADDR)=00H
; (ADDR+1)=FFH
DATA: DW 100H,200H ; Ініціалізувати 4
комірки
Директива DS. Директива DS (означати пам’ять) має такий формат:
Мітка Код Операнд Коментар
[мітка: ] DS <вираз> ; формат директиви DS
Обчислене значення виразу з поля операнда визначає число комірок
(байтів) пам’яті, які резервуються для запам’ятовування даних. Ніякі
значення в цих комірках не запам’ятовуються, зокрема, не можна вважати,
що ці комірки містять нулі. Адреса наступного оператора рівна сумі адреси
оператора, який передує директиві DS i значення виразу директиви DS.
Приклади використання директиви DS:
Мітка Код Операнд Коментар
ARRAY: DS 32 ; Резервується 32 комірки
TABLE: DS 64 ; Резервується 64 комірки
Асемблер МК51 дозволяє означити символьні імена, як адреси
внутрішніх (псевдокоманда DATA), зовнішніх даних (XDATA) або адреси
бітів (псевдокоманда ВІТ).
Приклади застосування даних псевдокоманд:
FLAG BIT 25H.3 ;Присвоїти символьне ім’я FLAG 3
;біту комірки ОЗП з адресою 25Н
X BIT P1.0 ;і Х-0 біту порту Р1
CODE_EX DATA 20H ;Присвоїти символьне ім’я
;адресі 20Н комірки РДП
Для покращення зовнішнього виду і зручності документування в
асемблері можуть використовуватись наступні директиви:
SPC (пропуск стрічки), яка означає, що при друці лістінга необхідно
пропустити одну строку;
PAGE (сторінка), яка при друці лістінга викликає перехід на наступну
сторінку;
198