Cтраница 4
На рис. 5.5 показана простая программа на языке ассемблера, написанная для гипотетической машины Системы 360 с непосредственной адресацией, в которой используется BSS-за-грузчйк. Если результат не равен 3, управление передается подпрограмме с именем ERR. Поскольку вычислительная машина использует непосредственную адресацию, в объектных ко - дах отсутствует поле базового регистра, и нет необходимости писать в исходной программе псевдокоманду USING. Команда EXTRN определяет символы SQRT и ERR как имена других подпрограмм; поскольку соответствующие этим символам адреса не определены в данной подпрограмме, они определяются как внешние символы. Для каждого внешнего символа ассемблер генерирует в начале программы четырехбайтовое поле, содержащее запись этого символа в коде EBCDIC. Для простоты предполагается, что длина символа не превышает четырех элементарных символов кода EBCDIC. Эти дополнительные слова называются векторами переходов. Каждому обращению к внешнему символу приписывается адрес соответствующего слова вектора переходов. Кроме того-для каждого полуслова ( двух байтов) программы ассемблер заводит отдельный бит перемести-мости. Например, ассемблированной команде ST 14 36 приписываются биты переместимости 01, так как первое полуслово содержит код операции, поле регистра и поле индекса и не изменяется при перемещении программы, в то время как второе полуслово содержит относительный адрес 36, который должен быть изменен при перемещении. [46]
К сожалению, эта простая программа вырабатывает цифры числа в порядке, обратном тому, в котором их надо печатать. [47]
На распечатке 1.1 представлена простая программа на языке Модула-2. Эта программа выводит сообщение на экран и записывает числа от 1 до 10 в столбик. Цель, с которой так рано рассматривается программа, состоит в том, чтобы показать общую схему программы. Читателю нужно получить представление об общей структуре программы на Модуле-2 еще до того, как будут введены конкретные элементы языка. Неопытным программистам придется принять бо льшую часть этой программы на веру, пока она не будет подробно рассмотрена в последующих главах. [48]
На рис. 10.1 приведена простая программа на Фортране для суммирования вектора вещественных чисел. Программа состоит из главной программы и подпрограммы. Подпрограмма SUM получает в качестве входных данных вектор V и его длину N и выдает в качестве результата сумму элементов вектора. Главная программа является простым тестом для подпрограммы. Главная программа считывает целое число К и затем К вещественных чисел, которые заносятся в вектор А. Далее вызывается подпрограмма SUM для суммирования чисел вектора, печатается результат и опять читается новый набор чисел; этот процесс продолжается до тех пор, пока не будет считано значение 0 для К - Нижеследующие пояснения относятся к номерам строк, приведенным слева от листинга и не являющимся частью самой программы. [49]
Изображенная на рисунке 12.1 простая программа на Коболе обрабатывает входной файл, состоящий из последовательности пар наименование предмета - цена. Каждая вводимая пара выводится на печать, а по завершении обработки печатаются итоговое значение счетчика введенных пар и общая стоимость предметов. Приведенные ниже пояснения относятся к номерам строк, расположенным слева от листинга и не являющимся его частью. [50]
В § 1.2 приведена простая программа, состоящая из одной операторной части. Структура сложных программ, состоящих из нескольких модулей, будет рассмотрена в дальнейшем. [51]
В этом параграфе описана простая программа ServDemo с OLE-сервером. [52]
Для указанных целей желательны относительно простые программы, позволяющие понять именно принципы организации и работы указанных систем, а не быстро меняющиеся детали реализации конкретных технологий и не требующие специальных знаний из предметных сфер деятельности. [53]
В результате получается либо более простая программа, либо используется меньшее кол-во ресурсов, чем в общем случае. [54]