Вектор - переход - Большая Энциклопедия Нефти и Газа, статья, страница 1
Умный мужчина старается не давать женщине поводов для обид, но умной женщине, для того чтобы обидеться, поводы и не нужны. Законы Мерфи (еще...)

Вектор - переход

Cтраница 1


1 Организация статической памяти. [1]

Вектор переходов помещается во внутреннюю статическую область, которая является ч астью программы. Однако в MULTICS из-за того, что 1) все процедуры чистые ( не изменяют сами себя) и 2) один и тот же сегмент может иметь разный номер внутри адресного пространства пользователя, мы не можем иметь внутреннюю статическую область частью чистой программы. Поэтому указатели в MULTICS содержатся в отдельном сегменте, называемом сегментом связи.  [2]

Во-вторых, вектор переходов увеличивает размер объектной программы. Наконец, BSS-загрузчик работает с программными сегментами, но не облегчает доступ к сегментам данных, которые могут совместно использоваться несколькими подпрограммами.  [3]

Адресные поля вектора переходов заполняются фактическими адрееами, в которые загружаются подпрограммы.  [4]

Метод заключается в использовании вектора перехода при редактировании связей для каждой процедуры, вызываемой процедурой из другого модуля.  [5]

Загрузчик загружает сначала в оперативную память вектор переходов и текст основной программы. После этого он загружает каждую подпрограмму, упомянутую в векторе переходов.  [6]

Вместо непосредственного вызова процедуры вызывается процедура вектора перехода, которая реализуется с помощью единственной операции, подобной операции GOTO в PL / M и команде безусловного перехода в языке ассемблера. Эта операция вызывает выполнение фактической процедуры так, как если бы она вызывалась не - посредственно. Векторы перехода размещаются в отдельном модуле, называемом модулем вектора перехода, так что при конвертировании программ из описания на языке проектирования в язык программирования процедуры вектора перехода остаются сгруппированными вместе. Если имя модуля вектора перехода предшествует имени модуля процедуры в команда редактирования связей ( link), это означает, что векторы переходов разместятся в ячейках ППЗУ с меньшими значениями адресов. В результате независимо от того, как будут модифицированы сами процедуры, связи между вызывающими процедурами из других модулей и векторами переходов меняться не будут.  [7]

По формуле С, 1 - С вычисляются компоненты вектора доделочных переходов.  [8]

9 Способ организации связей при вызове процедур с помощью вектора перехода. [9]

Наконец, после того, как будет выполнен последний шаг, каждый комбинированный вектор перехода и модуль процедур могут быть прожжены в предназначенном для этого ППЗУ.  [10]

Однако многие микрокомпьютерные языки высокого уровня позволяют пользователю реализовать связи с помощью вектора перехода программным путем. Если необходимо, это может быть также реализовано в программах на языке ассемблера. Для реализации каждой процедуры вектора перехода используется операция PL / M GOTO, которая эквивалентна команде безусловного перехода в языке ассемблера, а также процедура описания. Следует отметить, что процедурам векторов переходов назначены имена, а самим процедурам-набор вторичных имен. Вторичные имена описаны в модуле векторов переходов как внешние метки, так как PL / M не позволяет использовать в операции GOTO обращение к имени процедуры. Последовательность шагов при вызове процедуры STOP TIMER показана на рисунке стрелками.  [11]

Входные и выходные параметры, передаваемые между процедурами PL / M, не должны описываться в описании процедуры вектора перехода. Они должны описываться там, где используются, а именно в описании действительных процедур. Компилятор PL / M затем будет передавать эти параметры между вызывающей процедурой и фактически вызываемой процедурой в соответствии с необходимостью.  [12]

Загрузчик загружает сначала в оперативную память вектор переходов и текст основной программы. После этого он загружает каждую подпрограмму, упомянутую в векторе переходов.  [13]

Вместо непосредственного вызова процедуры вызывается процедура вектора перехода, которая реализуется с помощью единственной операции, подобной операции GOTO в PL / M и команде безусловного перехода в языке ассемблера. Эта операция вызывает выполнение фактической процедуры так, как если бы она вызывалась не - посредственно. Векторы перехода размещаются в отдельном модуле, называемом модулем вектора перехода, так что при конвертировании программ из описания на языке проектирования в язык программирования процедуры вектора перехода остаются сгруппированными вместе. Если имя модуля вектора перехода предшествует имени модуля процедуры в команда редактирования связей ( link), это означает, что векторы переходов разместятся в ячейках ППЗУ с меньшими значениями адресов. В результате независимо от того, как будут модифицированы сами процедуры, связи между вызывающими процедурами из других модулей и векторами переходов меняться не будут.  [14]

В первых четырех строках нашего примера определяются символы, которые будут использованы в программе на языке ассемблера; это делает программу более удобочитаемой и дает возможность легко менять обозначение битов и портов в аппаратуре без существенных изменений в программе. Например, маска состояния печатающего устройства равна 80Н, если мы предполагаем, что СЗР байта состояния консоли равен 1, когда печатающее устройство готово к работе. Эти четыре ячейки указывают вектор переходов, а именно переходов извне в программу что будет в дальнейшем объяснено подробно.  [15]



Страницы:      1    2    3