Cтраница 2
Перед выходом из подпрограммы В необходимо восстановить в 13 - м регистре адрес области сохранения А. [16]
В области сохранения вызывающей программы запоминаются содержимое общих регистров вызывающей программы и адрес области сохранения вызываемой программы. [17]
В области сохранения вызывающей программы запоминается содержимое общих регистров вызывающей программы и адрес области сохранения вызываемой программы. Если вызывающая программа является также и вызываемой, то в ее области сохранения запоминается адрес области сохранения программы, которая ее вызвала. [18]
Сразу же или несколько позднее 13 - й регистр должен быть перезагружен адресом области сохранения подпрограммы В. [19]
Перед выходом из подпрограммы анализа SYNAD необходимо восстановить содержимое регистра 13, поместив туда адрес старой области сохранения, а также содержимое регистров 2 - 12, если они использовались в подпрограмме и их восстановление требуется по логике программы. [20]
При написании макроопределения учтем, что при вызове какой-либо программы в регистре 13 фиксируется адрес области сохранения вызвавшей программы, в регистре 14 - адрес возврата в вызвавшую программу, а в регистре 15 - адрес точки входа в вызванную программу, используемый в качестве начальной базы. А поскольку любые из этих регистров могут быть в макрокоманде выделены для целей базирования, то для упрощения алго-ритма - обеспечения группового базирования в начале макроопределения используются явные адреса. [21]
Если подпрограмма на языке Ассемблера сама вызывает другие подпрограммы, необходимо также обеспечить запоминание адресов областей сохранения вызывающей и вызываемой программ. [22]
В соответствии с общесистемными соглашениями о связях регистр 13 служит для передачи начального ( базового) адреса области сохранения. Содержимое регистров помещается в область сохранения начиная с четвертого слова. [23]
В соответствии с общесистемными соглашениями о связях регистр 13 служит для передачи начального ( базового) адреса области сохранения. Содержимое регистров помещается в область сохране-ния начиная с четвертого слова. [24]
В соответствии с общесистемными соглашениями о связях регистр 13 служит для передачи начального ( базового) адреса области сохранения. Содержимое регистров помещается в область сохранения начиная с четвертого слова. [25]
Перед тем как обратиться к подпрограмме по макрокоманде CALL, необходимо позаботиться о том, чтобы регистр 13 содержал адрес области сохранения вызывающей программы. [26]
Указанными командами адрес области сохранения подпрограммы на языке Ассемблера запоминается в третьем слове области сохранения программы на Фортране, а адрес области сохранения программы на Фортране - во втором слове области сохранения подпрограммы на языке Ассемблера. [27]
Указанными командами адрес области сохранения подпрограммы на языке Ассемблера запоминается в третьем слове области сохранения программы на Фортране, а адрес области сохранения программы на Фортране - во втором слове области сохранения подпрограммы на языке Ассемблера. [28]
Для восстановления содержимого регистров ( Гь г2) следует позаботиться о том, чтобы перед выполнением макрокоманды RETURN в регистре 13 находился адрес области сохранения вызывавшей программы. Если аргумент Г2 опущен, то будет восстановлено содержимое одного регистра rt, Если опущены оба операнда Г ] и Г2, то восстановление регистров не производится. [29]
Заметим, что содержимое регистра 13 в области сохранения вызывающего модуля не запоминается, поскольку единственное назначение этого регистра состоит в передаче адреса области сохранения вызываемому модулю. Поэтому содержимое регистра 13 запоминается. Таким образом, вторые слова областей сохранения образуют цепочку ( список), с помощью которой можно просмотреть области сохранения, задействованные при выполнении последовательности модулей, что может оказаться полезным при отладке. [30]