Cтраница 4
Символическое наименование, к которому имеется обращение в модуле, но которое либо не определено в этом модуле, либо к нему есть обращение из другого модуля, называется внешним ( или глобальным ] символическим наименованием и должно быть отмечено как таковое с помощью специальной псевдокоманды. Отметка символического наименования как внешнего предотвращает появление ошибки о неопределенном символическом наименовании, но каждое символическое наименование, отмеченное как внешнее, должно быть определено точно в одном из модулей, объединяемых редактором связей. [46]
Объектный модуль должен содержать информацию двух видов: таблицу внешних символических наименований и промежуточную форму программы на машинном языке, называемую двоично-символическим кодом. Таблица внешних символических наименований содержит все внешние символические наименования, к которым обращается модуль, и индикатор того, определяются они или нет в данном модуле. Двоично-символический код отличается от машинного кода тем, что с каждым обращением к символическому наименованию ассоциируется флажок и адреса неопределенных внешних символических наименований не введены. [47]
![]() |
Структура сегмента ЛР0Г1. [48] |
Запись с помощью символических наименований удобнее, так как возможные изменения программы ( в результате корректировки) к изменению символических адресов не приводят, и операторы используются для дальнейшей отладки. Корректировка программы приводит к изменению числовых значений адресов, и поэтому при их использовании для записи точек после каждой корректировки может появиться необходимость в подготовке новых операторов. [49]
До настоящего времени предполагалось, что все символические наименования во входном модуле присвоены ячейкам в этом модуле. Это достигается введением символического наименования точно в одном поле метки; в этом случае символическое наименование называется определенным. Если символическое наименование появляется в модуле, но не определяется или определяется в том же самом модуле несколько раз, ассемблер фиксирует ошибку. [50]
![]() |
Структура сегмента ЛР0Г1. [51] |
Запись с помощью символических наименований удобнее, так как возможные изменения программы ( в результате корректировки) к изменению символических адресов не приводят, и операторы используются для дальнейшей отладки. Корректировка программы приводит к изменению числовых значений адресов, и поэтому при их использовании для записи точек после каждой корректировки может появиться необходимость в подготовке новых операторов. [52]
Вообще говоря, для указания количества рабочих ячеек можно использовать адрес любого типа: действительный, символический, сложный. В случае использования символического наименования оно должно быть определено в СИМП ранее. [53]
Различаются простые, сложные и составные этикетки. Простая этикетка состоит из одного символического наименования, включающего 1 - 5 символов. [54]
![]() |
Структура сегмента. [55] |
Пример записи общей области для каждой из программ на ЯСК приведен в табл. 4.1. При составлении общей области для программы ВНУП1 для тех же объектов приняты другие символические адреса, в отличие от общей области для СИМП с именем ГЛАВ. В общей области в СИМП ВНУП2 символические наименования совпадают с таковыми в СИМП ГЛАВ. [56]