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

Подпрограммы и ввод/вывод

Подпрограммы составляются как универсальные программы, взаимодействующие с любыми главными. Составление ПП обычно предшествует составлению главной. Имеются библиотеки стандартных подпрограмм. Они хранятся во внешней памяти, организуются с помощью каталога. Запись в каталоге содержит адрес, длину, имя и другую информацию.

Схема взаимодействия ПП с главной

Можно составить две программы ПП, вычисляющую значение Х, и главную, вычисляющую значение Z, и использующую ПП. В главной должна стоять команда безусловного перехода к ПП, а в конце ПП – команда безусловного перехода к главной.

Схема:

Формат главной

А

П ереход к ПП

А+1

ПП –мма

D

Возврат const



D – точка входа (первая строка ПП)

Часто одну ПП надо использовать для вычисления значения f(x) от разных аргументов. Тогда надо обращаться к ПП два раза из разных мест. Перед каждым обращением нужно правильно задать аргумент.

Схема обращения к ПП из двух мест:

Формат главной

А

П ереход к ПП

А+1

В

Переход к ПП

ПП -мма

D

Возврат const



Более сложный вариант: приближенное вычисление определенного интеграла, имеет место взаимодействия вложенных ПП.

ПП

D

А1

А1+1

В1

Переход к ПП

С1

Возврат



Формат главной

А

П ереход к ПП

А+1

В

Переход к ПП

В+1

ПП

D1

Возврат



В связи с использованием ПП возникают проблемы:

- Вызов ПП и возврат(1)

- Передача параметров (2)

- Сохранение регистров (3)

- Настройка по параметрам (4)

- Настройка по мету (5)

1. Вызов ПП и возврат. В ячейках А и В находятся команда перехода по адресу D, а команда возврата в ячейке Е - переменная. После вызова из ячейки А в Е должна стоять команда в А+1, после вызова из В – по адресу В+1, т.е в ячейке Е постоянно меняется адрес возврата. Очевидно, информация об адресе возврата должна быть передана из главной перед вызовом ПП.

Приемы организации возврата:

- Засылка в ПП команды возврата: используется двухадресная команда безусловного перехода по адресу D.

БП

~

D

Формат:

Команды:

(

Команды пересылки

j) → E

(j+1) → E

А содержимое ячеек j и j+1 являются заготовленными константами в виде команд безусловного перехода.

(j) - БП~А+1

(j+1) - БП~В+1

Схема засылки возврата

Формат главной

А-1

( j)→Е

А

БП~D

А+1

В-1

(j-1)

В

БП~D

В+1

ПП

D



Такой способ организации связи требует на каждое обращение три ячейки: для двух команд четырех обращений к памяти. Решение проблемы – организация возврата путем объединения команд ячеек А-1 и А в одну. В систему команд вводится команда перехода:

ПП

Е

D



Зная адрес точки входа ПП, можно используя команду в

ПП

D-1

D

формате модернизировать:

Схема возврата:

Формат главной

A

Переход к ПП

A+1

ПП

D-1

D

E



Точка выхода ячека D-1, точка Е не нужна!