"DVDXpert" - компас в мире Hi-Fi и High End техники и другой stereo и home cinema аппаратуры.

ГЕНЕРАЦИЯ ОБЪЕКТНЫХ МОДУЛЕЙ (ФАЙЛОВ)

12-01-2024

Если используется опция HIGH, то в выражении используются только биты с 8 по 15. В случае использования опции LOW используются только биты с 0 по 7. Если используется опция UPPER, то в выражении будут использованы только биты с 16 по 21й.

РАСПРЕДЕЛЕНИЕ ОЗУ

Пространство ОЗУ должно быть распределено в секции данных. Существует пять типов секции данных:

UDATA неинициализированные данные. Это наиболее общий тип секции данных. Ячейки памяти резервируются, но не инициализируются (в них не записываются конкретные значения). К ячейкам можно получить доступ только при помощи метки, указывающей на эту секцию, или путем косвенной адресации.

UDATA_ACS неинициализированные данные доступа. Эта секция данных используется для переменных, которые будут помещены в ОЗУ быстрого доступа микроконтроллеров PICI8CXX. Эта область ОЗУ используется для прямого обращения к данным некоторыми инструкциями.

UDATA_OVR неинициализированные перекрывающиеся данные. Такая секция данных применяется для переменных, которые могут быть объявлены по тому же самому адресу, что и другие переменные в этом модуле или других подключаемых модулях. Типичным применением этого типа секции данных является хранение временных переменных

UDATAJSHR неинициализированные скрытые данные. Эта секция данных применяется для переменных, которые будут помещены в "теневой" или противоположный активному банк памяти.

IDATA инициализированные данные Компоновщик генерирует таблицу соответствия, которая может быть использована для присвоения переменным в этой секции конкретных значений. К ячейкам можно получить доступ только при помощи метки, указывающей на эту секцию, или путем косвенной адресации.

Однако, поскольку абсолютные адреса переменных и адреса меток неизвестны во время ассемблирования, не всегда в итоге получается корректный код. Например, в зависимости от величины программы, ее код может поместиться на одной странице, а может и не поместиться Соответственно, одна из меток в конце программы (и ее физический адрес) может соответствовать одной странице программной памяти, а может и другой Но заранее, в начале ассемблирования, это не всегда очевидно и ассемблер может сгенерировать некорректный код


Смотрите также:
 Возможности виртуальных студий
 Маршрутизатор
 ЭЛЕКТРОННЫЕ ЧАСЫТЕРМОМЕТР НА PIC16F84
 ЦИФРОВЫЕ КОНСТАНТЫ И СИСТЕМЫ СЧИСЛЕНИЯ
 ГЕНЕРАЦИЯ ОБЪЕКТНЫХ МОДУЛЕЙ (ФАЙЛОВ)

Добавить комментарий:
Введите ваше имя:

Комментарий:

Защита от спама - решите пример: