Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 лаба.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
22.61 Кб
Скачать

9) Каким образом обеспечить автоматическое распределение переменной (или константы) в памяти микроконтроллера по определенному физическому адресу.

Все модули должны иметь свое представление в памяти микроконтроллера, некоторые из них должны осуществлять доступ к коду и данным, размещенным в других модулях, а на момент ассемблирования полностью известным является только один – ассемблируемый модуль. Файлы объектных модулей имеют расширение «.obj» а их имена соответствуют именам файлов исходных текстов. После ассемблирования всех используемых в программе модулей исходного текста производится редактирование связей – линкование, линкинг, (Linking – Связывание), компоновка. Линкование осуществляется программой – линкером (редактором связей, компоновщиком). Этой программе передаются все объектные модули, полученные в результате ассемблирования. Данная программа размещает код и данные из всех модулей в памяти микроконтроллера и вводит в соответствующие места кода программы фактические адреса размещенных идентификаторов.

10) Какой физический смысл имеют идентификаторы в сегментах, определенных во внутренней и внешней памяти данных?

Идентификаторы в сегментах данных имеют смысл переменных – символического описания адреса в памяти данных, по которому размещены соответствующие данные. В рассматриваемом примере это распределение памяти под переменные VAR1 и ANY_VAR во внутренней памяти данных, массив байт X_BYTE_ARRAY объемом 20 байт во внешней памяти данных, битовые переменные FLAG1 и ANY_FLAG в бит-адресуемой области памяти.

Распределение памяти под различные переменные производится по мере их объявления в каждом из сегментов данных начиная с начального адреса сегмента.