Текст
                    АГРЕГАТНАЯ СИСТЕМА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ОСНОВНАЯ БИБЛИОТЕКА ПОДПРОГРАММ
Часть I
Руководство по пользованию
3.301.003 Т


АГРЕГАТНАЯ СИСТЕМА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОСНОВНАЯ БИБЛИОТЕКА ПОДПРОГРАММ Часть I Руководство по < пользованию 3.301.003 Т
СОДЕРЖАНИЕ Введение 7 ABS Вычисление абсолютного значения вещественного числа II ALOG Вычисление натурального логарифма вещественного числа с плавающей запятой 12 ALOGT Вычисление десятичного логарифма вещественного числа с плавающей запятой 14 AMOD Вычисление остатка от деления двух вещественных чисел с плавающей запятой 15 AIN’T Выделение целой части вещественного числа о плавающей запятой 16 ABSIN Вычисление функции у»агсв1п(х) 17 ATAN . Вычисление функции arctg (х) 18 AT AN 2 Вычисление арктангенса частного двух веществен¬ ных чисел с плавающей запятой z«arctg (у/х) 19 CHEBY Вычисление значения функции, разложенной по полиномам Чебышева, при заданной таблице коэф¬ фициентов разложения 20 • •DLC Перевод в дополнительный код мантисоы веществен¬ ного числа с плавающей запятой 22 DIM Вычисление положительной разности вещественных чисел с плавающей запятой 23 ENTIE '■ Вычисление наибольшего целого, не превышающего по абсолютной величине вещественное число х (entie). Округление вещественного числа х до ближайшего целого (.-шв) "• ’ 24 SNTP Передача истинных адресов параметров парал¬ лельно используемой подпрограмме 25 • ENTS Передача истинных адресов параметров подпро¬ грамме 26 EAR0 Подпрограмма печати сообщения об ошибке 27 EXP Вычисление функции у»ех 28 PADS3 Сложение (входная точка «рло ) и вычитание (входная точка «т ) вещественных чисел с плавающей запятой ж«х+у 29 3
• •?см Перевод в дополнительный код мантиссы веще¬ ственного числа с плавающей запятой 30 •PDV Деление чисел с плавающей запятой (z=x/y) 31 .F?dP Умножение чисел с плавающей запятой 32 float Преобразование целого числа в формат веще¬ ственного числа с плавающей запятой 33 •FLUN Выделение порядка ("распаковка”) веществен- ' него числа с плавающей запятой 34 •сото Передача управления i -й метке из последо¬ вательности к меток, обозначаемая опера¬ тором вычисляемого перехода gg.u СОРГРАНа (GOTO (K1tK2,K3,...,KH)I) 35 tabs Получение абсолютной величины целого числа 36 IAND Конъюнкция целых чисел 37 IDIM Вычисление положительной разности двух целых чисел 38 • IENT Выделение целой части вещественного числа с плавающей запятой (1=» [ х ] ) 39 ifix Преобразование вещественного числа с плаваю¬ щей запятой в целое 40 index Нахождение адреса или самого элемента масси¬ ва АЛГОЛа 41 10Я Дизъюнкция целых чисел 43 ISICN Вычисление функции J=sign(z). |i| (присвоение целому числу '1 знака числа z ) 44 ISSW Засылка в знаковый разряд регистра Л состоя¬ ния N -го разряда клавишного региотра 45 • ITOI Вычисление для целых 1 и j 46 .•MANT Выделение мантиссы вещественного числа с плавающей запятой 47 • •МАР Вычисление адреса элемента двух- или трех¬ мерного массива 48 •мар. Получение адреса элемента двумерного массива 49 mod Вычисление остатка от деления двух целых чисел 50 1ШЭД1 Нахождение максимального или минимального ■ числа из последовательности целых чисел 51 4
MXIANR Нахождение максимального или минимального числа из последовательности вещественных чисел с плавающей запятой 52 OVF Анализ регистра переполнения (HI) 53 .PACK Приведение 31-разрядной мантиссы со знаком к формату нормализованного вещественного числа с плавающей запятой 54 PAUSE Пауза или останов при выполнении программы 55 POLY Нахождение значения полинома .+С1 х+сп 56 • PRAM Передача подпрограмме, выработанной трансля¬ тором с АЛГОЛа, параметров или/и их адресов 57 • PtfR2 Вычисление x*2N 59 RMPAR Передача лапаметров программе гри запуске или возобновлении приостановленной программы 60 • RTOI Вычисление х* для вещественного числа с плавающей запятой х и целого числа 1 61 • RTOR Вычисление функции -хУ , где х и у - ве¬ щественные числа с плавающей запятой 62 SICOS Вычисление синуса и косинуса вещественного числа с плавающей запятой 63 SIGN Вычисление функции ei&n(z)»|x| (присвое¬ ние вещественному числу с плавающей запя¬ той х знака числа z ) 64 SQRT Вычисление корня квадратпого вещественного числа 65 •StfCH Передача управления i -й метке из последо¬ вательности N меток 66 TAN Вычисление тангенса вещественного числа 67 TANH Вычисление гиперболического тангенса ве¬ щественного числа с плавающей запятой 68
ВВЕДЕНИЕ Настоящее руководство содержит описания стандартных переме¬ щаемых подпрограмм, выполняющих ряд математических вычислений и специальных функций, необходимых для программ пользователя, биб¬ лиотека стандартных подпрограмм ( ГСП-I) предназначена для обслу¬ живания задач потребителя, работающих в операционной и диско¬ вой операционной системах М-7000 как в реальном масштабе време¬ ни, так и в пакетном режиме. Руководство подготовлено в трех частях. В первой части приводятся описания подпрограмм, выполняю¬ щих ряд математических вычислений с целыми и вещественными чис¬ лами с плавающей запятой, а также подпрограмм, обеспечивающих выполнение специальных функций Во второй части руководства описаны подпрограммы, выполняю¬ щие математические вычисления с комплексными числами и веществен¬ ными числами с плавающей запятой двойной точности. В третьей части содержатся описания подпрограмм, обеспечи¬ вающих операции ввода-вывода, а также подпрограмм, обрабатывающих вызовы некоторых библиотечных подпрограмм по наименованию, опи¬ санному оператором external (ФОРТРАН 1У). Описание каждой подпрограммы оформлено стандартным образом и содержит следующую информацию. - мнемоническое обозначение подпро- Имя граммы. Назначение подпрограммы Операнд - полное название подпрограммы с указанием ее функций. - числа вещественные с цлазающсЛ запятой или целые; * Все по диаграммы, описанные в первой части руководства, /го- ляются параллельно используемыми.
Результат Входные точки Внешние ссылки Количество рабочих ячеек Вызов на МНЕМОКОДе Алгоритм Ненормальные ситуации v Вызовы на алгорит¬ мических языках адреса параметров или идентифика¬ торов, , - выполненная функция , место нахождения результата (в регистрах или в определенных ячейках памяти). - мнемоническое обозначение всех входных точек подпрограммы. - список входных точек подпрограмм, вызываемых данной подпрограммой. - размер необходимой области памяти, отводимой в задаче пользователя для хранения слова состояния про¬ граммы и промежуточных результатов параллельно используемых подпро- грамм. - вызывающая последовательность для каждой входной точки подпрограммы. - краткое описание алгоритма вычис¬ лений. , - указание условий, вызывающих не¬ нормальные ситуации, сообщения об ошибках и способы их индикации, - указание возможности и способа вы¬ зова данной подпрограммы на АЛГОЛе или ФОРТРАНе. Для некоторых подпрограмм приведены примеры использования подпрограммы в программах пользователя, написанных на МНЕМОКОДе.
При написании программ пользователя на МЯЕМОКОДе перед обращением на библиотечную подпрограмму на индексном регистре РИ2 (регистр Y ) нужно иметь адрес рабочей области с признаком автоиндексации. Размер рабочей области, необходимой для пользо¬ вания библиотечными подпрограммами, определяется по наибольшей рабочей области подпрограмм, необходимых программе пользователя. Максимальное количество рабочих ячеек, необходимых для библиотечных подпрограмм,- 45. Ниже приведен пример написания программы на МНЕМОКОДе, вы¬ зывающей библиотечные подпрограммы. ASMB,R,B,L,X NAM PROGR EXT .FAD,.FDY LDY .B DLD X НА РЕГИСТР Y ЗАСЫЛАЕТСЯ АДРЕС РАБОЧЕЙ ОБЛАСТИ С ПРИЗНАКОМ АВТОИНДЕКСАЦИИ •B В JSB .FAD DEF XI JSB .FDV DEF X2 DEF B,I BSS 14 ВЕЛИЧИНА РАБОЧЕЙ ОБЛАСТИ ВЫБРАНА ИЗ НАИБОЛЬШЕЙ РАБОЧЕЙ ОБЛАСТИ ПОДПРОГРАММ END У.FAD - 11 РАБ.ЯЧЕЕК,А У .FDY-14 2 3.301,003 Т $
Загрузка библиотечных подпрограмм производится компоновщи¬ ком заданий М-7000 после загрузки всех подлежащих выполнению потребительских программ.С’Агрегатная система программного обес¬ печения. Базовые операционные системы. Инструкция для опера¬ тора. 3.119*001 Г1). За один просмотр ленты библиотеки компонов¬ щик выбирает и загружает все подпрограммы, которые вызываются рабочими программами и ранее загруженными библиотечными подпро^ граммами. При компоновке программ пользователя, полученных в резуль¬ тате трансляции с АЛГОЛа или ФОРТРАНа, компоновщик автоматически производит выделение рабочей области, необходимой библиотечным подпрограммам, перед загрузкой каждой потребительской программы и засылку в регистр Y ее адреса с признаком автоиндексации во время выполнения данной программы. Содержимое регистров А и Б после выполнения библиотечных подпрограмм, результат которых не находится в этих регистрах, не предсказуемо. Содержимое индексных регистров сохраняется. 10
ВЫЧИСЛЕНИЕ АБСОЛЮТНОГО, ЗНАЧЕНИЯ , ВЕЩЕСТВЕННОГО ЧИСЛА Операнд: х - вещественное число с плавающей запятой* Результат: вещественное число с плавающей запятой в регистрах А и Б. Входные точки: ABS Внешние ссылки: • •ГСМ Количество рабочих ячеек: 16 Вызов на МИЕМОКОДе: DLD X JSB ABS Алгоритм: если х< 0, мантисса числа переводится в дополнительный код. Ненормальные ситуации: см.описание подпрограммы ,.рсм ♦ • Вызовы на алгоритмических языках: ' ФОРТРАН: функция ABS(X) ФОРТРАН 1У: функция ABS(X) АЛГОЛ: стандартная функция abs(X) И
; ВЫЧИСЛЕНИЕ ,НАТУРАЛЬНОГО . ЛОГАРИФМА'' 'ВЕЩЕСТВЕННОГО ЧИСЛА С ПЛАВАЮЩЕЙ 'ЗАПЯТОЙ : Операнд: х - вещественное число с плавающей запя¬ той. Результат: у - вещественное число с плавающей запя¬ той. Входные точки: LN, ALOG Внешние ссылки: • РЪШ, . МАМТ,.FLOAT,.FAD,.FSB, .xbiP,.FDV Количество рабо¬ чих ячеек: 25 Вызов на ШЕМОКОДе: DLD X JSB ALOG ИЛИ LN (возврат по ошибке) (нормальный возврат) Алгоритм: пусть г-мантисса числа х. I - его поря¬ док. ’ Тогда y»log02*(l+iog2F)» =loSe2 *{I+Z[cl+c^22]_ 1} , F-1 где z= —— , •7 + 2 0^1.2920070987 С2=2.б398577О35 0^=1.6567626301 Ненормальная ситуация: если xsO, осуществляется возврат по ошибке.; На регистрах А и Б находится код ошибки 02UN . 12
Вызовы на алгоритмических языках: ФОРТРАН: функция ALOG(X) ФОРТРАН 1У: функция ALOG(X) АЛГОЛ: стандартная функция ьи(х) 301. UOJT Ч. 1
ALOGT ВЫЧИСЛЕНИЕ. ДЕСЯТИЧНОГО ЛОГАРИФМА^ ВЕЩЕСТВЕННОГО ЧИСЛА С ПЛАВАЮЩЕЙ. ЗАПЯТОЙ Операнд: х - вещественное число с плавающей запя¬ той. Результат: у - вещественное число с плавающей запл той в регистрах А и Б. Входные точки: A.LOGT Внешние ссылки: ALOG,.FMP Количество рабо¬ чих ячеек: 27 Вызов на МНЕМОМОДе: DLD X JSB ALOGT (возврат по ошибке) (нормальный возврат) Алгоритм: y»l°g10 e*10gex Ненормальные ситуации: см.описание подпрограммы alog . Вызовы на алгоритмических языках: ФОРТРАН 1У: функция ALOGT(х) 14
ВЫЧИСЛЕНИЕ, ОСТАТКА' OTi ДЕЛЕНИЯДВУХ. ВЕЩЕСТВЕННЫХ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнды: х, у - вещественные числа с плавающей запятой. Результат: z - вещественное число с плавающей запятой в регистрах Л и Б. Входные точки: AMOD Внешние ссылки: AIIITr.FMP,.FDV,.FSB Количество рабочих ячеек: 19 Вызов на МНЕМОКОДе: JSB AMGD DEF *+3 def’ X DEF Y Алгоритм: ZaX~ х/у] * у, где ’ J - выделение целой части/ если у»о, z=oc ' ■ < Ненормальные ситуации: Вызовы па алгоритмических языках: ФОРТРАН: функция AMOD(X,Y) ФОК РАН 1У: ФУНКЦИЯ АМОО(Х,Х) АЛГОЛ: внешняя процедура amod(x.y)
ВЫДЕЛЕНИЕ ЦЕЛОЙ ЧАСТИ ВЕЩЕСТВЕННОГО ЧИСЛА С ПЛАВАЮЩЕЙ' ЗАПЯТОЙ Опер яд: Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на ШЕЮМОДе: х\- вещественное число с плавающей запятой. вещественное число с плавающей запятой в регистрах А и Б. AINT .PLUNj.PACK 10 OLD X JSB AINT Вызовы на алгоритмических языках: ФОРТРАН ТУ: функция aint(x) 16.
ARSIN ВЫЧИСЛЕНИЕ ФУНКЦИИ y-Jai’csin (х) Операнд: Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на МНЕМОКОДе: х - вещественное число с плавающей за¬ пятой. у - вещественное число в регистрах А и Б. ARSIN POLYfSQRT,.FSB,.FMP Алгоритм: 29 DLD X JSB ARSIN (возврат по ошибке) (нормальный возврат) У-В1ЕП(Х)^|’ - \/Гфй*(С1+С2|х|+...С8|х|7) Ненормальные ситуации: где: с.]» 1,5707963050 С2»- 0,2145988016 С3- 0.0889789874 < С4—О к0501743046 С5- 0^0308918810 Сб—O.O17O881256 С?я O.OO667OO9O1 С8— 0.0012624911 при |х| > 1 осуществляется возврат по олвбие.На регистрах Л и Б ~ код одибкя оэил . На алгоритмических язиках нс вызывается. 3 3.301.003 т
ВЫЧИСЛЕНИЕ, ^ФУНКЦИИ arctg (х) Операнд: х -.вещественное число с плавающей запятой. Результат: у - вещественное число с плавающей запятой в регистрах А и Б. Входные точки: arcta,A?AN ; Внешние ссылки: Количество рабочих ячеек: . Вызов на ШЕЬШОДе: CHJSB, .PDV, <ЖР, .PSB 31 DLD X JSB ATAN ИЛИ АИСТА Алгоритм: если |x|<if и»х, иначе Ual . Тогда s»u*cheby(2u2-i) . При 0<П$1 у а , при -1^П<0 У«- f - 2 Вызовы на алгоритмических языках: ФОРТРАН : ФОРТРАН 1У: АЛГОЛ: ' функция ATAN(X) функция АТАН(Х) стандартная функция arctan(x) 18
ВЫЧИСЛЕНИЕ] АРКТАНГЕНСА, ЧАСТНОГО ДВУХ ВЕЩЕСТВЕННЫХ' ЧИСЕЛ С ПЛАВАЮЩЕЙ. ЗАПЯТОЙ z = arctg (у/х) Операнды: х, у - вещественные числа с плавающей запятой* Результат: z - вещественное число с плавающей запятой в регистрах А и Б. Входные точки: ATAN2 Внешние ссылки: Количество рабочих ячеек: Вызов на МНЕМОКОДе: АТАНОВУ 34 JSB ATAN2 DEF DEF У DEF X Алгоритм: если х*0, ТО z-Bign(y)^ t если хиО, z«arctg(^/x) Вызовы на алгоритмических язиках: ФОРТРАН: функция А'ГАЛ2(Х,1) ФОРТРАН 1У: ФУНКЦИЯ ATA52(Y,X) АЛГОЛ: внешняя процедура агам2(г,х) i?
ВЫЧИСЛЕНИЕ ЗНАЧЕНИЯ ФУНКЦИИ,} РА ЗЛОЖЕННОЙ 'ПО ПОЛИНОМАМ .ЧЕБЫШЕВА, ПРИ ЗАДАННОЙ ТАБЛИЦЕ, КОЭФФИЦИЕНТОВ РАЗЛОЖЕНИЯ Операнды: Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на ШЕМОКОДе: Алгоритм: Ненормальные . ситуации: х - вещественное число с плавающей запятой. С^- таблица коэффициентов разложения* у - вещественное число с плавающей запятой в регистрах А и Б. *сн ев .FADt,FSB,.FMP 24 OLD X JSB «СПЕВ DEF с - адрес начала таблицы коэффи¬ циентов разложения. Tie^Ti-1~Ti-.2+Ci • ГДв то=о, Т.,»!, сх - берутся из таблицы коэффициентов разложения • ... Тп-Тп-2 у - при возникновении переполнения разряд¬ ной сетки взводится регистр переполне¬ ния. На алгоритмических языках не вызывается
Примечание. Таблица коэффициентов разложения имеет оледую- < тую структуру: С DEC 01 DEO 02’ • DEO Оц ОСТ 0 . 301. лозт ч. 1 21
'ПЕРЕВОД В ДОПОЛНИТ ЕЛЬНЫЙ,.КОД МАНТИССЫ [вещественного числа' с плавающей запятой Операнд: х - вещественное число с плавающей •. запятой0 Результат: вещественное число с плавающей запятой в регистрах А и Б. Входные точки: • •DLC Внешние ссылки: ..FCM Количество рабочих ячеек: 18 Вызов на МНЕМО КОДе: JSB ..DLC DEF X Алгоритм: см.описание подпрограммы . .fcm • На алгоритмических языках не вызывается. 22
. ВЫЧИСЛЕНИЕ. ПОЛОЖИТЕЛЬНОЙ разности ВЕЩЕСТВЕННЫХ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнда: х , у - вещественные числа с плаваэще: запятой.. Результат: z - вещественное число с плавающей запятой в регистрах А и В. Входаые точки: Э1Л Внешние ссылки; .FSB Количество рабочих ячеек: 14 Вызов на МНЕнОКОДе: JSB DIM DEL1 *+3 DE? X DEF Y Алгоритм: z=o | если x-y^ о , z»x-y > если x~y> о Ненормальные ситуации: см.описание подпрограммы .pack • Вызовы на алгоритмических язиках: ФОРТРАН: подпрограмма dim (х, Y.) ФОРТРАН ТУ: Функция DIM(X,Y) АЛГОЛ: внешняя процедура dlm(X/z)
ВЫЧИСЛЕНИЕ НАИБОЛЬШЕГО ЦЕЛОГО. НЕ\ ПРЕВЫШАЮЩЕГО ПО АБСОЛЮТНОЙ ВЕЛИЧИНЕ ВЕЩЕСТВЕННОЕ ЧИСЛО х ( ENTIE ) ОКРУГЛЕНИЕ ВЕЩЕСТ ВЕННОГО ЧИСЛ А /ДО БЛИЖАЙШЕГО' ЦЕЛОГО (rRNI);) Операнд: х - вещественное число с плавающей запятой. Результат: целое число в регистре А. Входные точки: ENTIE,.RND Внешние ссылки: нет Количество рабочих ячеек: 6 Вызов на ШЕЬЮКОДс: DLD X JSB *RND ( ИЛИ ENTIE) Алгоритм: результат округления равен ЕПТ1Е(х+О,5) Ненормальные ситуации: если х по абсолютной величине превы¬ шает 32768 (для отрицательных х) или 32767 (для положительных х), результат равен минус 32768 (для х<0) или 32767для (х>0), при этом регистр переполнения взводится. Вызов на алгоритмических языках: АЛГОЛ: стандартная функция ENTiER(x) 24
ПЕРЕДА ЧА ИСТИННЫХ АДРЕСОВ1. ПАРАМЕТРОВ ПАРАЛЛЕЛЬНО ИСПОЛЬЗУЕМОЙ ПОДПРОГРАММЕ Операнд: адреса параметров. Результат: адреса параметров записаны в рабочую область подпрограммы. Входные точки: ЖТР Внешние ссылки: нет. Количеству рабочих ячрек: 3 Вызов на дазмОКОДе: JSB SUB DKF *+П+1 D£F XI 0 ' Ьи? хя. • SUB NOP STW 2Д JSB ШТР На алгоритмических язиках не вызывается. Примечание. Карта рабочей области Sin» после выполиенг.я по.^программы ВТ Р Номера ячеек » Солярное I-с. елозо ГСП A~r.ec возврата подпрограбли SUB а учетов 2 3 ис.;1си>::глое регистра X Еа'тпя яче’.-.кя n.‘Uv*i?vrw?4.u №'Р 5+ N i 1 ЛОЛИНСС7В0 ь‘л.ре.чстрзв Ад е ‘jo a i i а рам с т pc ь
: ПЕРЕДАЧ А . ИСТИННЫХ АДРЕСОВ ПАРАМЕТРОВ ПОДПРОГРАММЕ адреса параметров адреса параметров записаны в зарезер¬ вированные ячейки подпрограммы Входные точки: .EWTR Вн С-Е1НИе с сылки: кет Количество рабочих ячеек: 4 Вызов на ЫНЕМОКОДе: SUB *+N+1 DEF XN (возврат) SUB NOP JSB »ENTR DEF PARAM PARAM BSS N На алгоритмических языках не вызывается. Примечание. Подпрограмма .enth заносит в ячейку sub * адрес, возврата подпрограммы sub . Истинный адрес параметра определяется исключе¬ нием всех ссылок (косвенной адресации). 26
ПОДПРОГРАММА ПЕЧАТИ СООБЩЕНИЯ Операнд: Результат: Входные точки: Внешние ссылки: ' Количество рабочих ячеек: Вызов на ШЬ’ЖОДе: ОБ ОШИБКЕ ХХХХ - 4-слмвольний код ошибки, на пульте оператора печатается сообще¬ ние: ОШ.ххххАДР. уууууу БАЗА iilii симя>: STOP 77777, гдеуууууу- б-сшАвсльныл относительный, адрес, следующий за адресом ухода, на подпрограмму ,’еШ , iilii - восьмеричное значение базы • непривилегированного состояния раздела <илш> - имя задаши^вызвавшей Ш0 . > ЕГО# лет 25 OLD XIXX - JSB ЕгШ/Р На алгоритмических языках не вызывается. •Примечание. Ио окончании печати соослепил оо о’^бко задача, вызвавшая подпрограмму завершает работу-
ВЫЧИСЛЕНИЕ'ФУНКЦИИ у^.е* Операнд: х -■ вещественное число с плавающей запятой. Результат- у - вещественное число с плавающей за¬ пятой в регистрах А и Б. Входные точки: ЕХР Внешние ссылки: .FAD, .FD7, .FMP, .FSB, .IENT, • BVIi2e. FLOAT Количество рабочих ячеек: 24 Вызов на ШЕЛОКОДе:. DLD X JSB ЕХР (возврат по ошибке) (нормальный возврат) Алгоритмы: f 1 »xlog2e, f 2«f 1 -1, i=»ENIEfl( f 1) t T°T Г 2f2 1 u C4+C3f2 -Cg/dg+op где =87.417497202 С2=б17.9722695 С3=0.03465735903 С4=9.9545957621 ■Ненормальные ситуации: если x*log2G >124 » осуществляется возврат по ошибке. На регистрах А и Б код ошибки; 07ОР* Вызовы на алгоритмических языках: ФОРТРАН; ф} лкция EX Р( х) ФОРТРАН 1У: функция ЕХР(х) АЛГОЛ: стандартная функция ЕХР(Х) 28
’■СЛОЖЕНИЕ, (ВХОДНАЯ ТОЧКА .FAD)1 ({'.ВЫЧИТАНИЕ (ВХОДНАЯ ТОЧКА .FSB ) ВЕЩЕСТВЕННЫХ ’ЧИСЕУ С_ПЛАВАЮЩЕИ ЗАПЯТОЙ ,z.--x±y Операнда: х , у - вещественные числа с плаваю¬ щей запятой. Результат: z - вещественное число о плаваю¬ щей запятой в регистрах А и ' Входные точки: •FAD,.FSB Внешние ссылки: ♦ FLU2I,.PACX Количество рабочих ячеек: II Вызов на МНЕМОКОДе: DLD X JSB ♦FAD ИЛИ .FSB DBF Y Ненормальные ситуации: см.описание подпрограммы .pack На алгоритмических языках не вызывается. ;. <'о:п ч. ’
[ПЕРЕВОД ВДОПОЛНИТЕЛЬНЫЙ КОД, МАНТИССЫ: ВЕЩЕСТ ВЕННОГО ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ. Операнд: х - вещественное число с плавающей запятой. Результат: у вещественное число о плавающей за пятой в регистрах А и Б. ' Входные точки: • •кем Знелние ссылки: • F5B Количес тво рабочих ячеек: 16 Вызов на МНШНЮДе: DLD X JSB ..FCM Алгоритм: У«0-Х Ненормальные ; ситуации: см.описание подпрограммы »раск , На алгоритмических языках не вызывается. 30
ДЕЛЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ (z-x/y) Операнды: х , у - вещественные числа с плавающей запятой. Результат: вещественное число с плавающей запятой в регистрах А и Б. Вхолные точки: •FDV Внешние ссылки: >FLUNf .РАСК Количество рабочих ячеек: 14 Вызов на МНЕМОКОДе: ! DLD X JSB .FDV DE? X . Ненормальные ситуации: см.описание подпрограммы .pack На алгоритмических языках не вызывается.
УМНОЖЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ; ЗАПЯТОЙ Операнды: х , у - вещественные числа с плаваю- щей запятой. Результат: вещественное число с плавающей запя¬ той в регистрах А и Б. Входные точки: •FMP Внешние ссылки: .FLUN,.PACK - Количество рабочих ячеек: 9 Вызов на ШЕМОКОДе: DLD X JSB .FMP DEF Y Ненормальные ситуации: см.описание подпрограммы .pack . На алгоритмических языках не вызывается. 32
ПРЕОБРАЗОВАНИЕ ЦЕЛОГО ЧИСЛА В ФОРМАТ. ВЕЩЕСТВЕННОГО,ЧИСЛА С ПЛАВАЮЩЕЙ. ЗАПЯТОЙ Операнд: Результат: 1 - целое число. вещественное число с плавающей запятой в регистрах Л и Б. Входные точки: FLOAT Внешние, ссылки: .РАСК Количество рабочих ячеек: 7 Вызов на МНВМОКОДе: LDA I JSB FLOAT Вызовы на алгоритмических языках: ФОРТРАН: функция JLOATCI) .ФОРТРАН ТУ: функция PLOAT(I) 5 3.301.0'.'З т
ВЫДЕЛЕНИЕ ПОРЯДКА ("РАСПАКОВКА"), ВЕЩЕСТВЕННОГО ЧИСЛА ,С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнд: м - словог .содержащее младшие разряда мантиссы и порядок нормализованного ве¬ щественного числа с,плавающей запятой (двойной точности). .Результат: целое число в регистре А - порядок числа. В регистре Б - младшие разряды мантиссы ■ числа. Входные- точки: .PLUN Внешние ссылки: нет Количество рабочих ячеек: 2 Вызов на МНЕЮКОДе: LDB М JSB .PLUM На алгоритмических языках не вызывается. 34
ПЕРЕДАЧА УПРАВЛЕНИЯ МЕТКЕ ГИЗ ПОСЛЕДОВАТЕЛЬНОСТИ, N МЕТОК, ОБОЗНАЧАЕМАЯ. ОПЕРАТОРОМ.^ВЫЧИСЛЯЕМОГО ПЕРЕХОДА. GOTO. ФОРТРАНа (GOTO (Кj, К2, К3,.., KN )1) Операнд: адреса меток крк2, ...» . Результат: управление передается соответствующему оператору. Входные точки: Внешние ссылки: .GOTO нет Количество рабочих ячеек: 3 Вызов на МНЕМО КОДе: JSB .GOTO DEF *+N+1 DEF I DEF K1 DEF Ko • DEF KN На алгоритмических языках не вызывается. Примечания: I. Если 1^1 , управление передается оператору с меткой Кр 2. Если i>N , управление передается оператору о меткой к„. 5* 35
TABS', ПОЛУЧЕНИЕ АБСОЛЮТНОЙ ВЕЛИЧИНЫ^ . . ЦЕЛОГО ЧИСЛА v Операнд: • 1 - целое число. Результат: Входные точки: целое число в регистре А. IABS Внешние соылки: . , нет , Количество рабочих ячеек: \ ' 2 Ч • - ' ’• Вызов на МНЕМОИОДе: ' bDA I '/Ч/JSB IABS f " '■ • Алгоритм: если 1 < о | • результат равен; минус 1. если 1>о, результат равен 1 • Ненормальные ситуации: если i = 100000В. результат устанавли вается равным 77777В. ? Вызовы на алгоритмических языках: ; ФОРТРАН: ; У ФОРТРАН 1У: \ . функция IABS(I) .функция IABS(I) . л * . г - -4'7' 36
IAND конъюнкция; целых чисел Операнды: Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на МНЕМОКОДе: 1 , j -* целые числа, целое число в регистре А. IAND нет 2 JSB IANB DEP I ВЕР J Вызовы на алгоритмических языках: ФОРТРАН: /1 ' функция IAND(I,J) ФОРТРАН 1У: функция IAND(ltJ) 37
вычисление Положительной; разности ДВУХ' ЦЕЛЫХ ЧИСЕЛ Операнды: i , j - целые числа. Результат; к - целое число в регистре А. Входные точки: IDIM Внешние ссылки: нет Количество рабочих ячеек: 2 Вызов на МНЕШКОДе: JSB IDIM DEF **3 DEF I DEP J Алгоритм: z = 0, если о , в противном ' случае z=»i-j • Вызовы на алгоритмических языках: ФОРТРАН: функция IDIU(I,J) ФОРТРАН 1У: функция IDIM(I,J) АЛГОЛ: внешняя процедура Idim(i,j) 38
ВЫДЕЛЕНИЕ ЦЕЛОЙ Ч ACT И ВЕЩЕСТВЕННОГО ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ (i--[x]) Операнд: х - вещественное число с плавающей запятой. Результат: i - целое число в регистре А. Входные точки: .IENT Внешние ссылки: IFIX,.FLUNt.FLOAT Количество рабочих ячеек: 12 Вызов на МНЕМОКОДе: DLD X JSB .IENT (возврат по ошибке) (нормальный возврат) Ненормальные ситуации: если двоичный порядок х больше 14, осу¬ ществляется возврат по ошибке. На алгоритмических языках не вызывается. 3. 301 . ООЗТ Ч. 1 39
IFIX преобразование вещественного числа С ПЛАВАЮЩЕЙ запятой в целое Операнд: , х - вещественное число с плавающей запятой. Результат: i - целое число в регистре А. Входные точки: INTfIFIX Внешние ссылки: ♦FLUN Количество рабочих ячеек: 5 Вызов на ШЕЮКОДе: DLD X JSB IFIX ИЛИ ШТ Ненормальные ситуации: если порядок числг больше 16, результат равен 77777В и взводится регистр пере¬ полнения. Вызови на алгоритмических языках: ФОРТРАН: функция IFIX(X) ФОРТРАН 1У? функция IFIX(X) или 1НТ(х) 40
НАХОЖДЕНИЕ АДРЕСА ИЛИ САМОГО ЭЛЕМЕНТА МАССИВА АЛГОЛа. Операнды: адреса описателя массива и индексов искомого элемента» Результат: адрес элемента массива в регистре А для входной точки . zhda; сам элемент мас¬ сива для входной точки »INDR в регист- Эходаые точки: Внешние ссылки: ре А, если он целый,или в регистрах А и Б, если он вещественный. »DIDA,.INDR ER1# Количество рабочих ячеек: 25 Вызов на МНЕМОКОДе:' JSB .INDA ИЛИ .IIIDR DEF ОР (адрес описателя массива) dep к к»-ы,где N - размерность мас¬ сива DEF IND1 - первый индекс • • DEF J7IDN -К-Й ИНДекС Ненормальные ситуации: при неправильном обращении к массиву (отыскание несуществующего элемента массива) печатается сообщение: ОШ. IND? АДР.ШХХ БАЗА iiiii <ИМЯ> : STOP , где ХХХХХ - 5-символьный относительный адрес неправильной вызываю¬ щей последовательности. 6 3.301,003 т 41
iiiii - восьмеричное значение базы , . . непривилегированного состоя- ‘ ния раздела, <имя>- имя задачи, вызвавшей под¬ программу INDEX . Задача, использовавшая подпрограмму, завершает работу. Примечание. Информация в описателе массива: ОР: DEC N - размерность массива (отрицатель¬ ное значение, если массив целый)» dec DIM1 - размер массива по первой размер¬ ности. dec NG1 - нижняя граница первой размерности • в дополнительном коде. и т.д. dep *+1 - адрес начала массива. На алгоритмических языках не вызывается. 42
ДИЗЪЮНКЦИЯ ЦЕЛЫХ ЧИСЕЛ Операнды: Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на МНЕЖКОДе: 1 , j - целые числа, целое число в регистре А. IOR нет 2 JSB IOR ■ DEF I DEF J Вызовы на алгоритмических языках: ФОРТРАН: ФУНКЦИЯ IOR(IjJ) ФОРТРАН 1У: функция IOR(I,J) 6* 43
ISIGN ВЫЧИСЛЕНИЕ ФУНКЦИИ] j=‘ sign <z)- |i| " ’ =i ( ПРИСВОЕНИЕ''ЦЕЛОМУ ЧИСЛУ Ji, .ЗНАКАНИСЛАг) Операнд: 1 - целое число. z - целое или вещественное число Результат: j - целое число в регистре А. Входные точки: ISIGN Внешние ссылки: нет Количество рабочих ячеек: 2 Вызов на МНЕМОКОДе: JSB ISIGH DEF I DEF Z Алгоритм: J=«i, если 1>о-И’1>о ИЛИ i<0 И z<0. j«-i , если 1>о, а в<о или 1^0, a z>o. j«ot если ю или z=o. Ненормальные ситуации: если z>0 , а 1^-32768, результат равен 32767 . Вызови из алгоритмических языках: фортран: функция ISIGN(I,Z) ФОРТРАН 1У: функция ISIG1J(I,3) 44
ISSW ЗЛСЫЛКЛ Я ЗНАКОВЫЙ РАЗРЯД РЕГИСТРА А. СОСТАЯНИ ■’ N-io''РАЗРЯДА КЛАВИШНОГО РЕГИСТРА Операнд: N - целое число от 0 до 15, указываю¬ щее номер нажатой клавиши (считая спра¬ ва налево). Результат: целое число в регистре А, равное 0, при отжатой я-й клавише и 100000В - при нажатой клавише. Входные точки: ISSW Внешние ссылки: нет Котппество рабочих ячеек: 2 Вызов на ШЕЛОКОДе: LDA N JSB ISSW Вызозы на алгоритмических языках: ФОРТРАН: функция ISSW(N) ФОРТРАН 1У. функция ISSW(N) 45
.ITOI ВЫЧИСЛЕНИЕ ДЛЯ Ц£ЛЫХнг ’ ’ Й... j Операнда: i . J - целые числа. Результат: Входные точки: z — целое число в регистре А. ♦ ITOI Внешние ссылки: нет , Количество рабочих ячеек: 6 Вызов на МНЕМОКОДе: JSB .ITOI \ DEP I DEF J (возврат по ошибке) (нормальный возврат) Ненормальные ситуации: если 1 = 0. a j^c или |z|^216, осу¬ ществляется возврат по ошибке. На ре¬ гистрах А и Б находится код ошибки 08OF На алгоритмических языках не вызывается. 46
ВЫДЕЛЕНИЕ МАНТИССЫ ВЕЩЕСТВЕННОГО ЧИСЛА '<? ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнд: Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на МНЕМОКОДе: х - вещественное число с плавающей запятой. мантисса числа в регистрах А и Б. ♦МАНТ нет 3 / DLDX JSB .МАНТ На алгоритмических языках не вызывается. 47
..MAP Операнды: ВЫЧИСЛЕНИЕ АДРЕС# ЭЛЕМЕНТА- ДВУХ-\ ИЛИ ТРЕХМЕРНОГО МАССИВА адрес массива, целые числа N,11,12, 13, 31 и J2, где к - количество слов в элементе массива, 11, 12 и 13 - индексы искомого элемента мас¬ сива, л и j2 - длина первой г вто-. рей размерности, адрес элемента массива в регистре А, •♦МАР 7 нет Результат: Входные точки: Внешние ссылки: Количество рабочих ячеек: Вызов на ШЕШКОДе: На злю ритмических 7 для двумерных массивов' LDA»D1 LDB N JSB >.МАР DEF (адрес массива) DEF 11 DEP 12 DEF Л языках не вызывается. для трехмерных массивов LDA »D-1 LDB N JSB .,МАР DEF (адрес массива) DEF 11 DEF 12 DEF 13 DEF J1 DEF J2 48
ПОЛУЧЕНИЕ АДРЕСА ЭЛЕМЕНТА. ДВУМЕРНОГО МАССИВА, Операнда: адрес массива целых или вещественных чисел с плавающей запятой, 11 и 12 - величины первого и второго индекса (целые числа), N - первое измерение массива (целое, число - число строк в массиве). Результат: адрес элемента массива в регистре А. Входные точки: .МАР Внешние ссылки: нет Количество рабочих ячеек: 5 Вызов на МНЕМОКОДе: JSB .МАР DEF (адрес массива)' DEP IV DEP 12 dec N (отрицательное значение, если массив целый) На алгоритмических языках не вызывается. Примечание. Массив, имеющий структуру матрицы д хранится и в памяти в следующем порядке: A11,A21,...,An1,Al2,A22,...,Anm . 7 3,301.003 Т 49
MOD 'ВЫЧИСЛЕНИЕ.ОСТАТКА ОТ ДЕЛЕНИЯ > ДВУХ ЦЕЛЫХ ЧИСЕЛ Операнда: .1,j - целые числа* ’ Результат: z - целое число в регистре Входные точки: MOD Внешние ссылки: нет Количество рабочих ячеек: 3 Вызов на МНЕМОКОДе: JSB MOD DEF *+3 у def I - адрес делимого def J - адрес делителя Вызовы на алгоритмических языках: ФОРТРАН: функция M0D(I,J) ФОРТРАН 1У: функция MOD(I,J) АЛГОЛ: ' внешняя процедура mod(i,j) 50
MXMNI НАХОЖДЕНИЕ МАКСИМАЛЬНОГО ИЛИ МИНИМАЛЬНОГО УИСЛА'ИЗПОСЛЕДОВАТЕЛЬНОСТИ ЦЕЛЫХ ЧИСЕЛ Операнда: Результат: Входные точки: Внешние соылки: Количество рабочих ячеек: Вызов.на МНЕМОКОДе: xl,x2t...,xN - последовательность целых чисел» для входных точек амахй, ашяй - веще¬ ственное число с плавающей запятой в регистрах А и Б, для входных точек махй, mW - целое число в регистре А. AMAX0,MAX# , AMIN# , MIN 0 FLOAT 9 JSB (входная точка) OFF *+N+1 DEF Х1 : -z DEF XN Вызовы на алгоритмических языках: ФОРТРАН: функция АМАХ0(Х1,...,Хы) и т.д. ФОРТРАН 1У: ФУНКЦИЯ; АМАХйСХ^ , И Т.Д. АЛГОЛ: внешняя процедура amax0(i1,...,X|j) и т.д. Примечание. Входные точки амах0 и MAX0 служат для нахожде¬ ния максимального числа, AMIN0 и MW - для нахождения минимального. 5I 7*
MXMNR НАХОЖДЕНИЕ' МАКСИМАЛЬНОГО 'ИЛИМИНИМАЛЬНОГО^ ' ЧИСЛА ИЗ .ПОСЛЕДОВАТЕЛЬНОСТИ ВЕЩЕСТВЕННЫХ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнды: Результат Входные точки: Внешние ссылки х1,... ,3^ - вещественные числа с плавающей запятой. вещественное число с плавающей запя¬ той в регистрах А и Б - для входных точек amaxi , амин ; целое число в регистре А - для входных точек MAXI, MINI . 1 AMAXI, MAXI, AMIN ltMLNI IFIX,.FSB Количество рабочих ячеек: Вызов на МНЕМО КОДе •i 18 ■- • ««входная точка» ♦+N+1 Х1 DEP XN < Ненормальная ситуация: I 4fc.fr. Д. Вызовы на алгоритмических языках: ФОРТРАН: функция ФОРТРАН 1У: функция если количество чисел меньше двух, результат равен АЛГОЛ: внешняя АМАХ1 (Х1,... ,ХЫ) И Т.Д. AMAX1(X1,...,XN) И Т.Д. процедура amaxi(h,...,xn) и т.д Примечание. Входные точки amaxi , maxi служат для нахождения максимального числа, a amiki , mini - для на- хождения .минимального. 52
OVF ■ АНАЛИЗ ■_ РЕГИСТРА ПЕРЕПОЛНЕНИЯ (РПУ Операнд: Результат: нет. целое число в регистре Агравное минус!, если РП взведен, О,если не взведен.1 Входные точки: Внешние ссылки: OVF нет Количество рабочих ячеек: Вызов на МНЕМОКОДе: 2 7 JSB OVF На алгоритмических языках не вызывается. 3. 301. 00ЗТ ч. 1 53
.PACK ПРИВЕДЕНИЕ 31-РАЗРЯДНОИ МАНТИССЫ CO ЗНАКОМ К ФОРМАТУ НОРМАЛИЗОВАННОГО ВЕЩЕСТВЕННОГОЧИСЛА с плавающей запятой Операнды: м - 31-разрядная мантисса со знаком, 1 - двоичный порядок - целое число. Результат: нормализованное вещественное число с плавающей запятой в регистрах А и Б. Входные точки: ♦ РАСК Внешние ссылки: нет Количество рабочих ячеек: * 5 Вызов на ШШ)К0Де: DLD М JSB .РАСК , DEF I Ненормальные ситуации: если двоичный порядок результата превы¬ шает 127, результат равен максимальному (если мантисса поло отельная) или минимальному (если мантисса отрицатель¬ ная) вещественному числу с плавающей за¬ пятой, которое помещается в разрядной сетке. При этом взводится регистр пере¬ полнения. Если двоичтгй порядок меньше -128, результат устанавливается равным пулю. На алгоритмических язиках не вызывается. •54.
PAUSE ПАУЗА ИЛИ ОСТАНОВ ПРИ ВЫПОЛНЕНИИ ПРОГРАММЫ перанд: i - целое число (номер паузы или оста¬ нова). эзультат: на системном устройстве печатается сле¬ дующее сообщение: БАЗА ххххх №ПШ: STOP IIIII или БАЗА ххххх NN№ PAUS IIIII, где ххххх - восьмеричное значение ре¬ гистра базы непривилегированного состоя- ния раздела, в котором находится задача; NIWN - 5-символьно$ имя задачи; ши - восьмеричный код паузы или оста¬ нова. Входные точки: •PAUS,.STOP Внешние ссылки: нет х Количество рабочих ячеек: Вызов на МНЕМОКОДе: 7 IDA I JSB .PAUS ИЛИ .STOP На алгоритмических языках не вызывается. Примечание. Когда используется входная точка .paus , вы¬ полнение программы может быть продолжено. При пользовании входной точкой -STOP программа может быть перезапущена сначала. 55
НАХОЖДЕНИЕ ЗНАЧЕНИЯ ПОЛИНОМА У = С1хп-1‘ + С2Х,1-2 + ...+Сп.)х+Сп Операнды: х- вещественное число с плавающей за¬ пятой. С - коэффициенты полинома - вещественные числа с плавающей запятой. п - количество членов полинома• Результат: у - вещественное число с плавающей за¬ пятой в регистрах А и Б. Входные точки: POLY Внешние ссылки: ,FMP,.FDV,.FAD Количество рабочих ячеек: Вызов на МНЕМОКОДе: 24 DLD X JSB POLY DEF ♦+2 DEF с - адрес массива коэффициентов Ненормальные ситуации: если результат вычисления выходит за разрядную сетку, взводится регистр пе- Примечание Пример. С Массив DEC DEC 2. DEC 3. реполнения. коэффициентов должен быть ограничен нулем. 1 DEC 0 На алгоритмических язиках не .вызывается. 56
ПЕРЕДАЧА ПОДПРОГРАММЕ. ВЫРАБОТАННОЙ ТРАНСЛЯТОРОМ С АЛГОЛа., ПАРАМЕТРОВ . И ЛИ/И i ИХ АДРЕСОВ Операнды: адреса параметров. Результат: параметры или их адреса записаны в за¬ резервированную область памяти подпро¬ граммы ., Входные точки: .PRAM Внешние ссылки: нет Количество рабочих ячеек: 6 Вызов на МНЕМ) КО Де: JSB SUB DEF *+N+1 def Р1 - адреса параметров • . л DEF PN ' • • X SUB NOP JSB .PRAM ост < кодовые словам bss К - место для параметров или их адресов (точка возврата в подпрограмму) Примечания: I. Информация в кодовых словах. Первое кодовое слово: разряды 0+5 - количество параметров. Остальные разряды этого слова и все разряды следующих кодовых слов разбиты на пары.Каждая Ч 3.301.003 Т 57
пара разрядов характеризует параметр и опе¬ рацию , которая необходима (передать под¬ программе целое или вещественное число или его‘адрес). Первая пара разрядов относится к первому параметру и т.д. Информация, содержащаяся в этих двух разрядах, означает: Первый разряд "О” - нужен адрес параметра. Первый разряд ”1” - нужен параметр. Второй разряд ”0” - параметр - целое число. Второй разряд ”1” - параметр - вещественное число. 7 2. К - количество ячеек, необходимых для разме¬ щения параметров или/и их адресов. 3. В ячейку SUB заносится адрес возврата из подпрограммы sub в основную программу с i учетом обхода вызывающей последовательности. На алгоритмических языках не вызывается. >8
ВЫЧИСЛЕНИЕ x*2N Операнды: х - вещественное число с плавающей - запятой, N - целое число. Результат: вещественное число с плавающей запятой в регистрах А и Б. Входаые точки: • PWR2 Внешние ссылки: *FLUN,.PACK Количество рабочих ячеек: 8 Вызов на МНЕМОКОДе: DLD X JSB .B7R2 . DEF N Алгоритм: порядок числа увеличивается на N . Ненормальные ситуации: см.описание подпрограммы .pack * На алгоритмических языках не вызывается. 59
ПЕРЕДАЧА ПАРАМЕТРОВ ПРОГРАММЕ ПРИ ЗАПУСКЕ ИЛИ ВОЗОБНОВЛЕНИИ ПРИОСТАНОВЛЕННОЙ ПРОГРАММЫ Операнд: адрес зарезервированной области памяти, Результат: параметры переписаны в зарезервирован¬ ную область памяти. Входные точки: ‘ RMPAR Внешние ссылки: нет Количество рабочих ячеек: 3 Вызов на МНЕМОКОД: JSB RLIPAR DEF *+2 DEF ARR • ARR BSS 5 Вызовы на алгоритмических языках: ФОРТРАН: DIMENSION ARR(5) , CALL ’RMPAR (ARR) ФОРТРАН ТУ: DIMENSION A^(5) ■CALL RMPAR (ARR) АЛГОЛ: ARRAY ARR (1*5) PROCEDURE RMPAR (ARR) Примечание. При обращении к подпрограмме rmpar содержимое регистра В интерпретируется как адрес параметров. 60
ВЫЧИСЛЕНИЕ х| ДЛЯ_[ ВЕЩЕСТВЕННОГО ЧИСЛА iC ПЛАВАЮЩЕЙ ЗАПЯТОЙ х И ЦЕЛОГО ЧИСЛА, i' Операнда: Результат: х - вещественное число с плавающей запятой, 1 - целое число, у - вещественное число с плавающей за¬ пятой в регистрах А и Б. Входные точки: Внешние ссылки: • RTOI .FDV, »РМР Количество рабочих ячеек: 21 Вызов на МНЕМОКОДе: • JSB .RTOI DEF X ■ DEF I возврат по ошибке) (нормальный возврат) Ненормальные ситуации: если х = 0, а о или |у|>2120 , осуществляется возврат по ошибке. На регистрах А и Б находится код ошибки 66 UN . На алгоритмических языках не вызывается. 3. 301. 003Т ч. 1 61
ВЫЧИСЛЕНИЕ ФУНКЦИИ \У.. ГДЕ х И у!- ВЕЩЕСТВЕННЫЕ ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнды: х , у - вещественные числа с плавающей запятой. Результат; z - вещественное число с плавающей за¬ пятой в регистрах А и Б. Входные точки: • HTOR Внешние ссылки: •FMP,ALOG,ЕХР Количество рабочих ячеек: 32 Вызов на МНЕМОКОДе: JSB *RTOR DEP X DEP Y (возврат по ошибке) (нормальный возврат) Алгоритм: Ненормальные ситуации: ZaEXP (у*1дх) если х<о » у^О » осуществляется воз¬ врат по ошибке. На регистрах А и Б код ошибки 02UN . Если х = о ,у^о, осуществляется возврат по ошибке. На регистрах А и Б код ошиб¬ ки 04UN . Если |у*1пх| 124 • осуществляется возврат по ошибке. На регистрах Л и Б - код ошибки 07ОР . На алгоритмических язиках не вызывается. 62
SICOS ! ВЫЧИСЛЕНИЕ СИНУСА И .КОСИНУСА ВЕЩЕСТВЕННОГО. ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнд: х- вещественное число с плавающей за¬ пятой. Результат: у - вещественное число с плавающей за¬ пятой в регистрах А и Б. Входные точки: SIN, COS , Внешние ссылки: ♦ СПЕВ, .IENT, «FAD, .FDV, «FMP, «FSB,«.FCM Количество рабочих ячеек: 30 Вызов на МНЕМОКОДе: DLD X JSB SIN ( ИЛИ COS) (возврат по ошибке) ^нормальный возврат) Алгоритм; А«зс*|/ В»А-4*ЖТ1ЕН( (А+1 )/4) y= sinx » В* CH EBY (2-В2-1) .. Если в > 1, В заменяется на 2-в. у»совх- -sin(x-^/2) Ненормальные ситуации: если выполняется условие: г)? 4 осуществляется возврат по ошибке. На регистрах А и Б находится код ошибки 05OR. Вызовы на алгоритмических языках: ФОРТРАН:' функция SIN(X) ИЛИ СОь(Х) ФОРТРАН 1У: функция SIN(X) или cos(x) АЛГОЛ: стандартная функция sin(x) или cos(x) 63
SIGN 'ВЫЧИСЛЕНИЕ ФУНКЦИИ sign (z j-|x| (ПРИСВОЕНИЕ ВЕЩЕСТВЕННОМУ ЧИСЛУ ,С ПЛАВАЮЩЕЙ ЗАПЯТОЙ * ЗНАКА ЧИСЛА Гг ) Операнда: Результат:, ! Входные точки: : Внешние ссылки: Количество рабочих ячеек: х - вещественное число с плавающей запятой - целое или вещественное число. вещественное число о плавающей запятой в регистрах А и Б. SIGH ♦.FCM ; .18 !'U ' .. Вызов на МНЕМОКОДе: jsb sigh , ' dep х , < DEP zb’ t Алгоритм: аналогичен алгоритму подпрограммы isign , Вызов на алгоритмических языках: ■ : ■■ ФОРТРАН.* функция SIGN(x,Z) ФОРТРАН 1У: функция SIGN (X.Z) .У. 64
SQRT 'ВЫЧИСЛЕНИЕ КО PH Я ~ КВА ДР А ТНОГО' ВЕЩЕСТВЕННОГО ЧИСЛА' Операнд: х - вещественное число с плавающей запятой. Результат: У - вещественное число с плавающей запятой в регистрах А и Б. Входные точки: Внешние ссылки: SQRT .m, •FDV, »FLUNt .FMP • P//R2 Количество рабочих ячеек: 22 Вызов на МНЕМОКОДе:' OLD X JSB SQHT (возврат по ошибке) (нормальный возврат) Алгоритм: f выбирается так, чтобы х»22Ъ*Г, где Ъ - целое число, тогда Vx=2b* V?< Ненормальные ситуации: еслих<0, осуществляется возврат по ошибке. На регистрах А и Б - код ошибки 03UN Вызовы на алгоритмических языках: ФОРТРАН: функция SQRT(X) ' ФОРТРАН 1У: функция 3<jra(x) АЛГОЛ: р стандартная функция SQR'f(x) О 3,301.003 т 65
.SWCH ПЕРЕДАЧА, УПРАВЛЕНИЕ, ^ -й МЕТКЕ ИЗ, ПОСЛЕДОВАТЕЛЬНОСТИ 'N МЕТОК; Операнд:• адрес меток Результат: управление передается соответствующему оператору• Входные топки: .SWCH Внешние ссылки: нет Количество рабочих ячеек: 2 Вызов На МНЕМОКОД©: LDA I JSB 8 (возврат, если id или i>N) & '. ь ■ s • ' NOP JSB .SWCH DEC N DEP Кл DEF Кд ‘ На алгоритмических языках не вызывается. Примечание. Если id или Ж , осуществляется возврат управ¬ ления ячейки, следующей за командой jsb s . 66
TAN ВЫЧИСЛЕНИЕ t АНГЕНСА ВЕЩЕСТВЕННОГО ЧИСЛА Операнд: х - вещественное число с плавающей запятой. Результат: z - вещественное число с плавающей запятой в регистрах А и Б. Входные точки: ТАН Внешние ссылки: • P.VR2, . .FCM, .IENT,.FDV, .СНЕВ,PLOAT t.FAD,.FSB ,.FMP Количество рабочих ячеек: Вызов на МНЕМОКОДе: 32 DLD X JSB TAN (возврат по ошибке) (нормальный возврат) Алгоритм: пусть U»-^L z=U-4ENTIE(-^£L) , тогда; если z>1 /то y=aTAN(x)=i [cHEBY(2(2-z)2-1)*(2-z)J а если г<1 9 to y«TAN(x)»zCHEBY(2z2-1) Ненормальная ситуация: если |1 > 214 f осуществляется возврат по ошибке. На регистрах А и Б- код ошибки 09 OR . Вызовы на алгоритмических языках: ФОРТРАН: функция ТАК(Х) ФОРТРАН ТУ: функция ТАК(Х) АЛГОЛ: стандартная функция тан(х) 9* 167
TANH ■ ВЫЧИСЛЕНИЕ; ГИПЕРБОЛИЧЕСКОГО ТАНГЕНСА ВЕЩЕСТВЕННОГО ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ Операнд: х- вещественное число с плавающей запятой Результат: у- вещественное число с плавающей запя- той в регистрах А и Б. Входные точки: TANH Внешние ссылки: .BVR2.EXP,. .PCM.ABS, .FLUN,.FAD,.FSB, .FMP,.FDV ERR6 Количество рабочих ячеек: 30 Вызов на МНЕЮКОДе: OLD X JSB TAKH Алгоритм: если ХЭ:1б, yathxal , если 0,125s х<1б, yathx- , (e2x+1) если 0,0005«x< 0,125, —1 yatbx={cl+f2 [c2+c3(c4+f2)-1]} ; где f»4*x*log2e С1«5.7707001636 С2»0.01732867951 Су-14.1384114018 0^349.6693988 Если 0«х<0,0005> y*thx»x Если х*0» yathx—th(-x) Вызовы на алгоритмических языках: ФОРТРАН: функция глкн(х) ФОРТРАН 1У: функция танн(х) /ЮТЛ: стандартная функция гднн(х) ха Отп. в отделе КМР ВЦ ста ту правд стал Орловской области. 0 Тирах Заказ