И, тем более, стоит перейти на более новую версию среды, например 5.35, которая еще поддерживает старую версию АСМа для восьмибитных ПИКов - MPASM. Последующие версии требуют перехода на другой АСМ - PIC-AS.
Кроме того, вы ничего не сказали о каком МК идет речь. Я смутно догадываюсь, что о 8-битных ПИКах, но есть и 16-битные и у них совсем другой Ассемблер.
Синтаксис выделения памяти под переменные в MPASM, который позволяет видеть эти переменные в отладке в окне Watch или Variables такой:
Код: Выделить всё
group1 udata 0x20
var1 res 1
var2 res 4
var3 res 2
group2 udata_shr
var4 res 1
group1 - это переменные, которые линкер разместит подряд с адреса 0x20
group2 - имеют директиву udata_shr, которая приведет к размещению переменных в общем для всех банках сегменте (обычно это адрес 0x70 и далее)
res - это количество выделяемых под переменную байт. Обращение к старшим байтам в тексте кода очень простое: имя переменной+смещение в байтах.
То есть var2+1 будет именем для второго байта переменной var2.