/
Tags: программное обеспечение
Text
АГРЕГАТНАЯ СИСТЕМА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ОСНОВНАЯ БИБЛИОТЕКА ПОДПРОГРАММ
Часть 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 Тирах Заказ