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

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

Cтраница 2


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

На рис. 5.6 показано содержимое памяти после загрузки программ BSS-загрузчиком. Используя информацию о длине программы, загрузчик поместил подпрограммы SQRT и ERR начиная с первой свободной ячейки памяти, а именно с адресов 448 и 526 соответственно. Наконец, содержимое слов вектора переходов было заменено на команды перехода к соответствующим подпрограммам.  [17]

Признаки перемещаемости или карта-перемещаемости решают только задачу настройки. Функция распределения памяти включает в себя использование выработанной ассемблером-нформации о длине программы для того, чтобы поместить программные сегмен - ты один за другим. Связывание сегментов выполняется с помощью добавления вектора переходов, которым ассемблер предваряет фактический результат трансляции.  [18]

В Intel 8086 все модули связываются вместе одной операцией и затем связанные программы размещаются в ППЗУ за один шаг. Чтобы разместить модули по отдельным ППЗУ, перемещающий загрузчик предусматривает начальную ячейку памяти ППЗУ для каждого модуля или группы модулей. Следует заметить, что в этом случае модули векторов переходов должны быть переведены на язык ассемблера, поскольку PL / M микрокомпьютера Intel 8086 не позволяет непосредственно реализовать организацию связей с помощью вектора переходов.  [19]

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

Например, если А и В декларируются как внешняя статическая память в Р1, а В - как внешняя статическая память в Р2, эти две программы будут компилироваться с двумя отдельными внешними сегментами, каждый из которых содержит переменную В. Все ссылки к внешней статической области осуществляются косвенно, через вектор переходов ( последовательность указателей), который указывает на все переменные внешней статической памяти. Этот вектор располагается во внутренней статической области программы и содержит адреса всех переменных внешней статической памяти.  [21]

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

В Intel 8086 все модули связываются вместе одной операцией и затем связанные программы размещаются в ППЗУ за один шаг. Чтобы разместить модули по отдельным ППЗУ, перемещающий загрузчик предусматривает начальную ячейку памяти ППЗУ для каждого модуля или группы модулей. Следует заметить, что в этом случае модули векторов переходов должны быть переведены на язык ассемблера, поскольку PL / M микрокомпьютера Intel 8086 не позволяет непосредственно реализовать организацию связей с помощью вектора переходов.  [23]

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

До сих пор мы предполагали, что каждый программный модуль размещается в целом числе ППЗУ и что какая-то часть памяти в разумных пределах остается неиспользованной, обеспечивая возможность последующей коррекции ошибок. Однако размер памяти, требуемой для модуля, редко соответствует размеру ППЗУ. Часто оказывается необходимым комбинировать модули, особенно небольшие, для того, чтобы память использовалась рационально. Организация связей с помощью вектора переходов может быть использована только тогда, когда имеется возможность объединить несколько модулей. В том случае, когда процедуры вектора переходов для комбинированного модуля будут размещены, они окажутся смежными в ППЗУ, как указывалось выше.  [25]

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

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

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

До сих пор мы предполагали, что каждый программный модуль размещается в целом числе ППЗУ и что какая-то часть памяти в разумных пределах остается неиспользованной, обеспечивая возможность последующей коррекции ошибок. Однако размер памяти, требуемой для модуля, редко соответствует размеру ППЗУ. Часто оказывается необходимым комбинировать модули, особенно небольшие, для того, чтобы память использовалась рационально. Организация связей с помощью вектора переходов может быть использована только тогда, когда имеется возможность объединить несколько модулей. В том случае, когда процедуры вектора переходов для комбинированного модуля будут размещены, они окажутся смежными в ППЗУ, как указывалось выше.  [29]

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



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