заданнвм при помощи меток. Напрмер, необходимо разместить в памяти строку сообщения или некоторую таблицу символов. В первом случае это будет выгядеть примерно так:
Если байты не резервировать, то с SRAM ничего не будет. Это аппаратная часть, и с ассемблером связано слабо. Другой вопрос: для чего память вообще резервируется для переменных? Этого можно вообще не делать, но тогда затрудняется контроль за использованием памяти. Допустим, мы можем присвоить ячейкам символические адреса:
Buffer1 .equ 0x30 ; Начало области буферов Buffer2 .equ 0x40 ; Buffer2 располагается вслед за Buffer1 ; размер которого 16 байт Buffer3 .equ 0x60 ; Buffer3 располагается вслед за Buffer2 ; размер которого 32 байта
В данном случае видно, что выделение памяти возлагается целиком на программиста. Любое изменение размера переменной приводит к необходимости перераспределения и модификации адресов для остальных переменных. Дело часто осложняется тем, что переменные в памяти могут описываться в разных ырагментах текста программы. Если использовать директиву(ы) резервирования памяти, то таких проблем не возникает:
Из этого фрагмента видно, что выделение памяти под любую переменную происходит независимо от других переменных. Адреса переменных будут ВЫЧМСЛЯТЬСЯ АССЕМБЛЕРОМ во время трансляции программы и, стало быть любое изменение в программе будет учитываться АВТОМАТИЧЕСКИ, без непросредственного участия программиста. Следовательно, ошибок, неибежно возникающих при ручном счете, не будет.