Cтраница 3
Затем она обрабатывается отладочным транслятором, вызываемым командой RUN. Поэтому для сохранения ее в наборе данных должна быть введена команда SAVE. После получения ответа от системы SAVED, указывающего о сохранении программы, нужно закончить работу вводом команды END. После ее выполнения система переходит в режим готовности принять следующую команду ( READY) ГОТОВО. [31]
Поэтому каждая программа обязана предусмотреть в своем составе специальную область памяти, называемую областью сохранения. При вызове в работу какой-либо программы Я дянная программа Л должна передать программе В адрес своей области сохранения и адрес той из своих команд, с которой дтжнп бь ть продетое. Программа В в начале своей работы должна запомнить содержимое регистров в области сохранения программы А, а в конце - восстановить их исходное содержимое и возвратить управление программе А по переданному адресу. [32]
Область сохранения размером 18 слов резервируется в каждой программной единице. Во втором слове сохраняется адрес области сохранения той программной единицы, которая вызвала данную программную единицу. В третье слово помещается адрес области сохранения вызываемой программы. Заполнение области сохранения программы производится как вызывающей, так и вызываемой программами. [33]
Предпочтительно для такой, с которой вы активно работали, знаете ее размер, отрасль, стратегию, операции и другие основные характеристики. По вашему выбору для этой компании перечисленные выше данные применены для разработки программы долгосрочного планирования. Все другие допущения должны базироваться на вашем знании компании и на опыте работы с ней. Единственное ограничение, соблюдение которого требуется от вас, - это сохранение всесторонней программы долгосрочного планирования в том виде, в каком она представлена выше. [34]
Макрокоманда BEGIN без параметров обеспечивает загрузку в регистр с номером 10 адреса начала программы в памяти. Если макрокоманда содержала параметры, то адрес начала программы загружается в регистр с номером дО, а в каждый следующий из указанных регистров заносится увеличенное на 4096 содержимое предыдущего регистра. По регистрам, указанным в макрокоманде, транслятор и осуществляет базирование адресов в вырабатываемой им программе. Кроме того, макрокоманда BEGIN обеспечивает запоминание исходного содержимого регистров в области сохранения программы, вызвавшей данную программу. [35]
Третий уровень - языки, предназначенные для решения определенного класса задач и относительно не зависящие от конкретного типа машин. Эти языки называют проблемно-ориентированными. Для описания инженерных вычислительных задач чаще используют алгоритмические языки ФОРТРАН И АЛГОЛ, для описания задач обработки больших массивов данных - алгоритмический язык КОБОЛ. Проблемно-ориентированные языки удобны для быстрой формулировки задачи специалистами, но для перевода их на внутренний язык машины необходимо иметь специальные трансляторы. В таком случае сокращается время написания и отладки программы пользователем при некотором уменьшении эффективности использования характеристик конкретной машины для решения такой транслируемой программы. Последний режим чаще всего используется при одноразовом решении задачи, записанной на языке программирования, когда не требуется сохранения оттранслированной программы на машинном языке для многократного последующего использования. [36]