Файл: Кастин, О. М. Система первичной обработки метеорологической информации.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 64
Скачиваний: 0
где*66і’ - строка, задающая номер СП, реализующей обращения к СП библиотеки. Оператор процедуры, выполняющий обращение к СП библио
теки |
с номером N |
, имеет |
вид |
|
|
|
SP ( V |
, а, ъ , ... , к |
); , |
где |
а, ъ, ... ,к |
являются фактическими |
параметрами исполь |
|
зуемой СП, определяющими ее работу. В качестве |
фактических пара |
метров оператора обращения к СП разрешается использовать: I) поло жительные числа (числа без знака), 2) простые переменные, 3) иден
тификаторы массивов, |
4) |
идентификаторы меток |
и 5) строки |
вось |
|
меричных цифр. |
При |
этом, |
если используется фактический параметр |
||
первых четырех типов, то в обращении к СП- N |
, формируемом |
СП- |
|||
661, указывается |
адрес фактического параметра, |
а фактический |
па |
раметр-строка задает информацию в виде двоичной константы. Операции над машинными словами, необходимые для обработки плот
но размещенных в памяти |
3BU данных, |
были |
реализованы при |
помощи |
||||
рассмотренных ниже |
средств. |
|
|
|
|
|
||
1.3. |
Отмеченная в предыдущем разделе специфика представления в |
|||||||
TAB логических значений |
true и faia« |
и программирования |
логи |
|||||
ческих выражений |
А Л В |
и А ѵ в |
не позволяет |
использовать |
зна |
|||
ки операций |
л и |
ѵ |
в их обычном |
смысле при |
работе с |
частями |
машинного слова, так как для выполнения побитного логического ум
ножения слов А и В пришлось |
бы писать |
выражение |
А ѵ В, а для |
|||
выполнения побитного логического |
сложения |
двух слов |
необходимо |
|||
было бы писать |
выражение АлВ . |
С другой |
стороны, |
использование |
||
знаков л и |
V |
в |
одном алгоритме |
для изображения обычных алголь- |
||
ных операций |
над |
логическими переменными |
и операций |
над машинными |
словами затрудняло бы написание и чтение такого алгоритма. По этим причинам для обозначения операции побитного логического умножения двух слов и операции побитного логического сложения двух слов бы
ли введены, соответственно, символы * и |
I |
(для обозначения |
|||||||
опорации умножения на машине Гидрометцентра СССР используется |
|||||||||
знак |
"х" ). Эти символы внесены в таблицу |
символов |
транслятора |
||||||
TAB и при работе блока ввода, выполняющего перекодировку основных |
|||||||||
символов языка во внутренний двоичный код, |
символу |
* |
ставится# |
||||||
соответствие то же самое двоичноо число, что |
и символу |
ѵ |
,а сим |
||||||
волу |
I |
то же самое число, |
что |
и символу |
л |
. При печати АЛГОЛ- |
|||
тѳкста |
на алфавитно-цифровое |
печатающее |
устройство |
(АЦПУ) |
сим |
||||
волу |
I |
соответствует символ |
* |
, а символу |
* соответствует |
||||
такой |
ко |
символ. |
|
|
|
|
|
|
|
р
Поокольку |
операция |
логического |
умножения |
л |
имеет |
более высо |
||
кий приоритет, чем операция логического сложения |
ѵ , из изложен |
|||||||
ного выше следует, что операция |
побитного логического |
сложения |
I |
|||||
имеет более |
высокий приоритет, |
чем |
операция |
побитного |
логическо |
|||
го умножения |
* . Эту |
особенность |
необходимо |
было |
учитывать |
при |
||
написании выражений, |
содержащих |
операции над словами. Для измене |
||||||
ния порядка |
выполнения операций |
как обычно использовались круглые |
||||||
скобки. |
|
|
|
|
|
|
|
|
1.4.Для реализации остальных операций над частями машинных
слов, за исключением уже рассмотренных выше, были составлены |
в |
||||||||||||||
включены в библиотеку операционной системы специальные стандарт |
|||||||||||||||
ные программы, краткое описание возможностей которых приведено |
в |
||||||||||||||
разделах |
І.4.І-І.4.4, 1.5 и і.б. |
|
|
|
|
|
|
||||||||
|
Отметим, что поскольку фактическими параметрами оператора |
об |
|||||||||||||
ращения к СП |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
. sp(V |
, а, |
ъ, |
... |
, к); |
|
|
|
|
||
не |
могут |
быть отрицательные числа, переменные с индексами и |
дру |
||||||||||||
гие |
более |
сложные |
выражения |
(разд. 1.2), в приведенных |
в приложе |
||||||||||
нии АЛГОЛ-тѳкстах обращения к СП, выполняющим операции над частя |
|||||||||||||||
ми невинных слов, осуществляются не непосредственно, а через |
со |
||||||||||||||
ответствующие процедуры-функции, описания которых включены |
|
в |
|||||||||||||
АЛГОЛ-тѳксты. Например, операция проверки побитной тождественнос |
|||||||||||||||
ти двух слов выполняется процедурой-функцией |
|
|
|
|
|||||||||||
Boolean |
procedure togd ( А , |
|
В ); |
Boolean |
A, В; |
|
|
|
|||||||
|
|
|
|
begin |
Boolean |
C, |
R; |
|
|
|
|
|
|
||
|
|
|
|
|
С: - |
A; |
R: |
« |
В; |
|
|
|
|
|
|
|
|
|
|
|
SP (‘704’ , C, |
R, R |
); |
togd: = R |
|
|
|
||||
|
|
|
|
end ; . |
|
|
|
|
|
|
|
|
|
|
|
|
Обращение к СП через процедуры не только значительно расширяет |
||||||||||||||
возможность СП с точки зрения используемых при обращении |
к |
ним |
|||||||||||||
фактических параметров, но делает описание алгоритма |
обработки |
||||||||||||||
данных более общим, наглядным и доступным для понимания. |
|
|
|||||||||||||
|
I.4.I. |
Сдвиг машинного |
слова выполняется при помощи СП, |
кото |
|||||||||||
рой присвоен номер 701. |
Оператор |
обращения к СП-701 имеет вид |
|
||||||||||||
|
|
|
|
|
SP(‘70l’, А, |
n, |
R |
, |
|
|
|
|
|||
где А |
- |
переменная типа |
Boolean. значение которой надо сдвинуть; |
||||||||||||
|
п |
- |
переменная типа |
integer |
|
(или число), определяющая направ |
|||||||||
ление и |
величину сдвига: при 0 < |
п |
< 4 8 |
происходит |
сдвиг |
слова |
|||||||||
влево |
на |
|
п битов, |
а при |
100 |
«s n |
< I48 - одвиг |
слова |
вправо |
на |
|||||
л |
- |
і о о |
|
битов; |
|
|
|
|
|
|
|
|
|
|
|
10
R - переменная типа Boolean , которой присваивается значение результата»
1.4.2. Побитное сравнение двух слов выполняется при помощи СП, имеющей номер 704. Оператор обращения к СП-704 имеет вид
SP(‘704’, а, в, |
S )j , |
|
|
|
||
где А и В - переменные типа Вооівап |
, значения |
которых |
сравнива |
|||
ются. Переменная R должна быть |
также |
типа Boolean . Этой перемен |
||||
ной присваивается значение true , если |
значения |
А и В |
тождест |
|||
венны побитно, и значение false |
- |
в противном случае. |
|
|
||
1.4.3. Для выделения части слова |
или выделения части |
слова |
с |
нормализацией, т.ѳ. с преобразованием части слова, понимаемой как двоичное целое число, в тип integer , используется СП с номером 703. Оператор обращения к этой СП имеет вид
ЗР( 703 , А, 1, п, В, к )I I
где А - переменная типа Boolean , из значения которой происходит
выделение части |
слова; |
|
|
|
|
|
||
1 - |
переменная |
типа integer |
(или число), значение |
которой |
||||
определяет номер левого бита выделяемой части слова; |
|
|
||||||
п - |
переменная |
типа integer |
(или число), значение |
которой |
||||
определяет количество битов выделяемой части слова; |
|
|
||||||
R - |
переменная, |
которой присваивается значение |
результата, |
|||||
причем в случае выделения части слова без преобразования н |
типу |
|||||||
integer |
эта переменная должна быть типа Boolean |
, а при выделе |
||||||
нии с преобразованием - типа integer |
; |
|
|
|
||||
к - |
число, определяющее режим работы СП: при |
t = |
0 выделяет |
|||||
ся часть |
слова, |
а при к ^ о - часть |
слова выделяется |
о преобразо |
||||
ванием К ТИПу |
Integer . |
|
|
|
integer в |
|||
1.4.4. Для преобразования значения переменной типа |
||||||||
двоичное |
целое число и размещения его |
с і -го бита в |
слове |
ис |
||||
пользуется СП-702, оператор обращения к которой имеет |
вид |
|
||||||
|
|
|
SP(*702’, А, 1, В |
, |
|
|
|
где А - переменная типа integer (или число), требующая преобразо вания;
1 - переменная типа integer (или число), определяющая номер бита в слове, с которого надо разместить получившееся двоичное число (т.ѳ. куда попадает младший бит двоичного числа);
я - переменная типа Boolean , которой присваивается резуль тат, причем все биты слова-результата, не занятые значением дво ичного числа, имеют значение 0.
II
1.5. Первоначальное присвоение значений логический переменный» которые используются для работы с частями слова» выполняется дву мя способами.Первый заключается в использовании имеющихся во вход ном языке транслятора TAB оператора ввода З-nput (А,В,...,К) и опе ратора обмена оору (...). Второй способ заключается в использова нии СП,имеющей номер 705»формирующей двоичные константы. Оператор обращения к СП-705 имеет вид
SP(‘70 5 ’, R , п ,
|
|
|
|
|
|
|
|
а і,И |
> |
|
1 |
|
|
|
J |
П,6^П,7®П^ |
|
|
І ^ л , « |
, |
а л , е (1п , « а |
п ,)5 а п,№ ’ ) ^ |
' 9 |
||
где в |
- идентификатор простой переменной или |
массива |
типа Boolean; |
|||||||||
п |
- переменная типа integer (или |
число),значение |
которой |
оп |
||||||||
ределяет количество формируемых двоичных констант; |
|
|
||||||||||
ÜL,j. - восьмеричная |
цифра »причем |
в |
параметрах-строках могут |
быть |
||||||||
указаны лишь |
значащие |
цифры. |
|
|
|
|
|
|
|
|||
Пример. |
В |
результате выполнения |
оператора |
|
|
|
||||||
|
|
SP |
(‘705’ , В ,2, |
|
|
|
|
|
|
|
||
|
|
|
|
4702’ , ‘51’ , ‘0’ , ‘6275’, |
|
|
|
|
||||
|
|
|
|
‘0’, ‘2’, ‘7035’ , ‘1400’ ); |
|
|
|
|
||||
в |
[I] |
будет |
иметь |
значение |
(4702 |
005100 |
006275), |
а |
|
|||
В |
[2] - (0000 000270 351400). |
|
|
|
|
|
|
|||||
І.б. Для отладки алгоритмов системы ПООЫИ.а такие в процессе |
||||||||||||
ее эксплуатации необходимо иметь воэмохность выдавать |
первичную |
|||||||||||
информацию |
в удобной форме на |
АЦПУ. В |
этих |
целях была составлена |
и включена в библиотеку операционной системы стандартная программа,получившая номер 706. Исходной информацией для СП-706 является массив знаков кода МТК-2 (приложение і),расположенных в п после довательных словах по восемь знаков в каждом слове,за исключением,
быть может,последнего |
(разд.2.2). Оператор |
обращения к СП-706 |
име |
||
ет вид |
SP (‘706’, А , п , В |
); , |
|
|
|
|
|
|
|||
где А - идентификатор массива типа Вооівап |
, элементы которого |
|
|||
(слова) оостоят из знаков кода МТК-2; |
|
|
|
||
п |
- количество слов от начала массива, |
которые |
подлежат выда |
||
че на |
АЦПУ; |
|
|
|
|
В |
- массив типа Boolean длиной в 620 слов, который служит |
бу |
|||
фером для перевода выдаваемой информации в |
код АЦПУ. |
|
|||
В результате работы СП-706 информация будет выдана на АЦПУ |
|
||||
страницами по 28 строк |
и но два столбца в странице. |
Расположение |
текста в столбце таблицы такое не,как на обычном телетайпном руло не.
12