Секция объявления переменных SRAM

Заголовок секции: SRAM:

В этой секции предусмотрены следующие поля:

Name – объявляемое имя переменной (ячейки памяти);

Address – (необязательный параметр) константа, определяющая конкретное значение адреса. По умолчанию – следующий за предыдущим либо $60 в начале компиляции;

Format – (необязательный параметр) формат переменной. По умолчанию принимается однобайтный формат. Многобайтные форматы используются в макро-операторах.

Count – (необязательный параметр) число резервируемых ячеек. По умолчанию принимается равное 1.

В операторах с непосредственной адресацией SRAM «[#]->R» и «R->[#]», имя переменной может быть использовано вместо «[#]».

Имя переменной с префиксом «@» является константой, содержащей ее физический адрес SRAM.

Приведенные ниже примеры будут откомпилированы с одинаковым результатом:

 

[$100] -> r0 , Phase -> r0 , [@Phase] -> r0

 

Если переменная объявлена как массив (Count>1, например, «LDC_Page»), то ее имя будет указывать на первый байт массива. Для непосредственно адресации произвольного элемента массива, используйте смещение адреса. Например, если необходимо копировать r0 в пятый элемент массива, то следует записать:

 

r0->[@LCD_Page+5]

 

Приведенный ниже пример очищает все элементы массива LCD_Page:

// Если не равно 0 то продолжить