Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Кушнерев Н.Т. Программирование для ЭВМ Минск-32

.pdf
Скачиваний:
46
Добавлен:
24.10.2023
Размер:
11.94 Mб
Скачать

 

сек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ГпгтпЙиа

 

 

 

 

 

 

 

 

 

 

 

 

Йтгта

 

 

 

 

_

 

 

МИНСК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

иЯ/шті/ір.

 

і

і

 

і

і

 

і іlira,

 

,

,

ійііетпК

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Строка Этикетка

 

Hon

,11

 

 

 

 

 

 

 

 

 

 

 

 

Лфесо

 

 

и

 

 

заш

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

 

 

 

 

 

9 і

IS,

 

і

I

i «

IT,

І

і

гг,

 

і

їЗД

і

і .

M

 

.

і

і

і

і

і

 

 

 

1

1

1

1**

1

1

 

1

l « l

1

1

 

1

l # i

I

I

»

 

 

0

\1\0

 

1

1

1

1

i,fl,r

,0 \

/ 7 | / 7 | Є і ^ ] ^ і ^ і г 7 і » і / і S , о і н , u \ e і

i4i«i - fftfг,і,

 

,ч,и\с,л,о,

 

 

, / i і

і

і

і

1

і

і

ї ї

 

 

 

0

,2,0

 

1

1 '_!

J

1

,

1

,

і

 

і

і

і

і

і

і

і

 

 

 

 

,д,е,й,е,г,о',и;*Іе,л

t>,H,0,f,

І

і

і

 

t

j

 

І

і

1

і

і

'

і

і

ї

ї

 

 

 

0

,3,0

 

1

1

1

1

0,H\3,

 

і

0,

 

,

,

і

 

 

 

 

 

,

,

,

,

,

 

,

,

,

 

 

 

і

і

і

і

і

і

і

 

і

і

 

і

і

t.

t

і

 

і

і

ї

ї

 

 

 

0

,4,0

 

Г

І

І

І

P,i\B,

 

,

3 ,

 

і

і

'

і

і

і

і

і

і

і

і

,

і

.

і

і

]

 

 

}

і

і

і

і

і

і

 

і

і

 

і

і

і

 

і

і

! .

і

і

і

і

 

 

 

0

,5,0

Я,Д,Р,

 

I

P,S,S,

 

,

1,

 

,

,

J

 

 

 

 

 

 

 

 

1

1

 

1

1

в

 

 

 

і

і

і

і

і

і

і

 

і

і

 

і

і

і

 

і

і

J

і

і

і

і

 

 

 

0

,6,0

 

і

і

і

П,Я\У,

 

і

11

і ,Я,Д\Р

 

 

 

 

 

 

і

і

і

і

• .

.

і "1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

0,7,0

 

і

і

і

і

П,

і

і

і

31

 

 

 

 

; \ P ,

P ,

 

ї ї

 

 

 

 

 

 

 

 

і

і

і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,в,0

 

і

і

і

і

H,0,P,M\

Р,Я,,,Р\Я,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

.

і

і

і

і

і

 

і

 

і

і

t

 

і

і

!

і

і

і

і

 

 

 

0,3,0

 

і

і

і

і

П\П,0,Р,

 

- ° I

^

I ;

I '

°

! ^ I < - I '

I

і

і

і

і

і

і

 

і

і

 

і

і

і

 

і

>

і

і

і

і

 

і

 

і

і

 

і

і

'

і

і

і

і

 

 

 

1,0,0

 

і

і

і

і

c,a,0,p,

* i4,4,S'.,

,Р,Я,*

,1,

 

і

і

!

і

і

 

і

,

і

,

 

 

і

і

і

і

і

і

 

і

і

 

і

і

і

 

і

і

!

і

і

і

і

 

 

 

1 і 1,0

Л

,

,

і

і

і,

і

і

,

 

 

 

 

і

,

і .

,

і

 

 

 

 

 

 

 

 

 

і .

 

 

l

1

1

1

1

l

1

 

1

1

 

1

1

A

,

I

'

1

1

1

1

 

 

 

і

,2,0

1

l

l

1

Вф/,Х,

 

і

ff,:

 

і ' ,

і

і

і

і

і

(

.

і і і і

і .

і

і

 

 

І

І

І

І

І

 

І

І

 

І

І

 

І

І

 

І

І

І

І

І

.

І

І

 

 

1 і Зі 0

 

і

і

і

і

6,A,St

 

і

і,;

 

\р,іїб,

 

і

і

і

і

і

t

і

і

і

 

і

і

 

і

і

 

 

і

і

1

1

1

1

1

 

і

і

 

і

і

і

 

і

і

!

і

і

і

і

 

 

 

1 1 * 1 0

Р,Я,

 

і

I

P,3,B,

 

і

<? 1

 

1

1

,

I

1

I

К

1

1

і

і

і

і

 

.

і

 

і

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/

,5,0

 

і

і

і

і

1

1

1

1

і

 

і

і

І

і

і

і

I -

h, 1

1

I

1

t

 

і

і

 

і

і

і

і

1

I

1

і

і

I

 

1

1

 

і

і

і

 

і

1

і

і

і

і

 

 

 

 

1

,6,0

 

і

.

і

і

h

1

1

1

 

і

1

1

1

Л

1

1

1

1

1

1

1

 

1

1

 

1

1

I

1

1

1

1

1

1

1

1

1

1

 

1

1

1

 

1

'

1

1

1

1

 

 

 

 

1

,7,0

 

,

,

,

,

1

1

1

l

 

l

 

l

.

l

 

l

i

 

r

i

t

l

 

t

 

f

f

t

t

 

l

l

 

j

l

 

 

t

 

l

l

 

t

l

t

t

 

l

l

l

l

l l i l

1

,0,0

 

і

і

і

і

1

1

1

r

1

 

1

1

1

1

1

1 .

1

1

t

1

1

1

1

 

І .

1

f

1

I

f

1

1

1

1 .

1

1

 

I

I

 

I

1

I

I

1

1

I I

 

I

I

 

 

 

1

is,о

 

і

.

і

і

1

1

,

1

1

 

1

1

1

1

1

\

1

t

1

1

1

1

f

f 1

1

11

1

t

1

1

1

1

 

1

I-

1

1

1

 

1

1

1

1 I

I

1

1

 

 

 

 

г ,о{о

 

і і і і

1 1 • 1

1 1 I J I I I 1 1

1 1 1 1 1 1 1 1 1 j 1

1 1 1 К 1 1 I 1 \ 1 1 і 1 1

1 1 1 1

 

 

 

 

 

 

l

К

l

1

1 .

и,р,а,

 

,

А і

 

і

і

l

і

і

і

і

і

і

і

і

і

і

 

і

і

 

і

і

і

і

і

і

і

і

і

і

і

 

і

і

 

і

і

і

 

і

!

і

і

і

і

 

 

 

 

 

 

 

K i l l

I I I !

,' j , '

, , , I t

і r 1 1 1 1 1 I I

 

I 1 1 1 1 1 К 1 I

 

1 I

 

I 1 1 1 j

1 1 1 1

 

 

 

 

 

 

 

1 К 1 1

1 1 1 1

1 1 1 1 1 1 1 f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

 

1 1 1 1 1 1 1 1 •

 

 

 

 

. t і

. 1 1 1 1 .

1 1 1 1

1 1 1 j

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 і 1 1 1 1 1 'l 1 1 1 1 1 1 1 • 1

 

 

 

 

P i

,11

Щ

.

,

і?,

і. ,

,гі

2:2,

,

,#i

, . ...

Ю

-і і і ,35,

, . ,

 

,

,*0\

,

,

,

 

 

 

 

 

 

ІВ

 

 

 

 

 

 

 

 

 

«

;

,

,

, ,

«

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.

 

32.

Пример заполнения

бланка

СИМП.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мым после строки 050, можно присвоить номера 051, 052 и 053 или

какие-либо другие из диапазона 05ІЧ-059. Место вставки

и сама

вставка

помечаются одинаковым

образом.

Это облегчает

перфо­

рацию

программы. Пример

заполненного

бланка приведен на

рис. 32.

 

 

 

 

Каждая строка бланка

перфорируется

на отдельную карту,

при этом номер позиции бланка

совпадает

с номером

колонки

карты.

 

 

 

 

 

2.13.ЗАПИСЬ КОНСТАНТ ПРИ СИМВОЛИЧЕСКОМ КОДИРОВАНИИ

Всимволических программах различают числовые и текстовые константы.

Числовые константы могут быть заданы в десятичной или вось­

меричной

форме. Преобразование чисел во внутренний вид, необ­

ходимый

для выполнения операций

над ними,

производит

тран­

слятор.

 

 

 

 

Для записи чисел используется

оператор « К о н с т а н т а

ч и с ­

л о в а я »

(КЧ). КЧ — мнемонический код этого

оператора.

При

описании других операторов мнемонический код также будет ука­

зываться

 

в скобках

 

после названия

оператора.

 

 

 

 

 

 

 

 

Оператором

КЧ в десятичной

форме

 

можно

 

задать

число

одного из следующих видов: двоичное число с плавающей

запя­

той, двоичное

число

с

фиксированной

 

запятой,

десятичное

число

с фиксированной запятой, двоичное целое число, десятичное

целое

число.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

восьмеричной

форме

оператором

 

КЧ можно

 

задать

произ­

вольную логическую

константу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д в о и ч н о е

ч и с л о

с

п л а в а ю щ е й

 

з а п я т о й

 

должно

быть записано с точкой, которая разделяет целую

и дробную ча­

сти. При отсутствии

целой

или дробной

 

части

точка

 

все равно

ставится.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Знак

 

« + » у положительных

чисел

можно

опускать. Например:

Этикетка

 

Коп

 

 

 

 

 

 

 

 

дфеса

 

и

замечания

 

 

 

1>\

і

1

р « , 7 \

1

1

\ г

1

221

5 .

 

 

 

 

і

i * i і

 

і

і

і

і

I « I

і

Я\

і

і

і

"\ ч

\

1

I

 

3 і 1

 

,3\Ht#iK

 

1 + 1

1 \H

 

 

 

 

 

 

 

 

В\ і

і

і

"\ Ч \ 1

г

 

- I г

J

 

 

 

і і

і і і

і і і і і

і

і

і і

і

 

J і і

і і і

і

Wl1i7i

 

,

К\ V.

1

I

 

-

I 3

Я\

\Ч\/І\С

 

 

 

 

 

 

 

 

 

 

 

 

"\ v

l

1

I

 

+

9

 

 

 

 

і

і

і

і і .

I

 

I

I

I

I

I

I I I

П,И,

і

і

К

 

 

I

 

3

 

 

1

 

 

і

і

і

і і

| / 7 | # l

1

 

 

 

 

1

4\Р\*\Б\Ь

к ч

\

1

- I

,.

0

 

 

 

1

1

1

І

І

і

і

l 1

1

 

 

 

 

 

 

 

 

 

 

 

i 5 i 2 i i t t

ї ї

і

 

 

 

 

 

 

 

 

 

 

 

 

 

Изображение чисел 2.5 и я в ячейках МОЗУ

 

было

приведено

на рис. 21, причем

значение я точнее записанного

здесь.

 

 

 

Число с плавающей запятой можно представить также в полу­

логарифмической

форме с десятичным порядком

 

(в виде

произве­

дения

двух

чисел,

второе

из которых — целая

степень

 

десятки).

4*

61

Первый сомножитель записывается по приведенным выше прави­ лам. При записи второго сомножителя используется символ «ю» (основание десятичной системы счисления). Показатель сте­

пени числа 10 записывается

целым

числом.

Знак «-+-» у положи­

тельного показателя также можно опускать.

 

 

Например:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этикетка

Hon

 

 

 

 

 

 

 

 

Их

і

.

i «

17к I

.

х»

г ?і

.

їзд

і і і

«

 

 

* і

і

і

і

Кхч,

,

1

О , . •

| J , / J 5 | 5 | ^ | « | J |

 

 

*.#..?.?>.

Кхч,

,

,

2,і.*.г\іх,*,-,5,

..

 

 

i,t,S,

 

,

К,Ч,

1

і

-,*i9,4i»,-,St

і Ї

 

 

 

 

 

 

J ї м * 1

І

1 ^

l l

l l l

 

 

 

 

 

 

 

 

 

 

 

 

Все числа с плавающей

запятой

 

транслятор

нормализует.

Д в о и ч н о е

ч и с л о

с ф и к с и р о в а н н о й

з а п я т о й запи­

сывается аналогично

 

двоичному

числу

с плавающей запятой, но

сепровождается

буквой

Ф, которая

записывается

непосредственно

за ним. При этом

следует помнить, что такое число по абсолютной

величине должно быть меньше единицы.

 

 

 

 

 

 

 

 

 

Например:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зтикетко

 

Коп

 

гг, ,

& , ,

 

 

 

 

 

Лфесо

 

и

г

за,

 

» . I

, х<б»l 1

,

\І1

,'

м

,

,

,

 

,

,

,

 

 

" t i l l

 

 

 

 

'

,0,-,ty,i,iP,

 

j

,

,

,

j

,

,

,

,

,

,

 

Я,1,

х .

к,ч,

,

,

-

, '

. • ( * ] i

J i

f

i

/ t

-

i

« ,

> ,

f

,

,

,

,

V

• •

 

 

і

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R X 1

1 . 1

К,Ч,

,

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_ _ L _ I

1 L _

 

1 1 L _ l

— 1 1 1 « 1 1 1 .1 1 1 ' ' • 1 1 1 1 1

 

 

Изображение

этих чисел в ячейках МОЗУ приведено на рис. 17.

Д е с я т и ч н о е ч и с л о с ф и к с и р о в а н н о й

 

з а п я т о й ,

записывается

аналогично

двоичному

числу

 

с фиксированной за­

пятой, но признаком

его являются

буквы

«ФД».

 

 

 

 

 

Например,

те

же

 

числа+ 0.875,—0.1, 1/я, если

 

их

требуется

представить в ячейках

МОЗУ

в десятичном

 

виде

 

(см. рис. 23),

следует записать так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этикетка

 

коп

 

 

 

 

 

 

 

 

 

//феса

 

 

 

 

/ Л і

і

i « *

' Л ,

,

 

22 х , &i ,

 

,

.

і і

1

\33A

 

 

 

Лх .

.

,

K.V,

. ,

0,-,в,7І5,Ф,Л,

 

 

і

і

і

і і

і

 

 

 

 

Лх*,

,

,

КуЧх

х ,

-tO,-sl\<PJ.

 

 

 

 

 

 

,

,

 

 

 

 

 

йх?х

х ,

 

 

 

 

о , •

rfitiaaхОіі,аів,б,0іД\..

 

і

 

 

 

• і

і

і

 

1 1 1 _ 1

• і і

1 і

 

і , i , і

і

і

і

і к - *

 

 

 

Д в о и ч н о е ц е л о е ч и с л о записывается самым обычным образом»

Например:

Зтииетка

 

коп

 

tlx

1

1 J

*

 

 

 

 

 

 

 

Кліі

л

і

 

 

 

 

' » ' . * ' .

1

1

I

і . л I . > . 1 1 1 1

і

і

і .1

.

.1 1

1.

 

гг>

,

 

 

 

 

 

 

 

Дфєео

fit

,

,

да

,

і

,

|Д5|

9 . 3 ,

і [ і

. • і і

і і .

і

- і З , 4 і 7 \

 

і ,

,

і •

і

,

,

і

і і і 1 і і і і і

, . . і і

'

1 1

і

1

1 .1 л\лЛ

1

1 _

 

\—Х

Д е с я т и ч н о е ц е л о е ч и с л о помечается признаком «Д». Например:

Згикетиа

« | , 1 і «

*, / , 7 , 1

Г, * , 4 | « 1

і і і і

-1 1 1 1,

 

Hon

 

 

 

 

 

 

 

 

 

 

 

Адресо

V,

,

,

tH S2\

і

 

,

 

,

,

ДО

і

і

і

ДО

K\4s

 

,

і

 

 

 

 

 

і

I ' l

l

I I

і

і

і

1 1 1 1

і і і

1 і

і і і

1 і і і і I

_ i

_

J—I.J.

і і

і

J

і

і

і

і

і

і

і

і

ї

ї

Изображение последнего из этих чисел в ячейке МОЗУ приве­ дено на рис. 25.

 

Л о г и ч е с к а я

к о н с т а н т а ,

 

представляющая

 

собой

 

произ­

вольный набор двоичных разрядов, записывается в МОЗУ

восьме­

ричным числом со знаком. При этом

нулевой

разряд

 

записывается

как

+

или —, а остальные

разряды группируются по три и изоб­

ражаются

соответствующей

восьмеричной

цифрой.

 

Признаком

логической

константы служит буква В в конце ее. Знак

+

и впе­

реди стоящие нули можно не записывать.

 

 

 

 

 

 

 

 

Например:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Згииетко

 

 

Коп

гг,

, &І , , ,

 

 

Яфесо

 

с/

 

замеча/ft/p

 

 

4зо,

,

,

Л?1 |

|

, «

 

 

да і ,

,

до

,

, ,

, ,

і

, ,

- V l

/ l

.1

X,VK

I I

StSiSi?lS,?tS,PiSiP,Si?,S,

 

 

\Ч,Є

,Р,£іД\#,Ві/>,Н,и,£,

 

,0,

,ff,

 

,f,

 

 

 

"\Чх

I .

t , 7 , 7 , s \ , Л Л І " І " І * І « І * / |

,B,

, / > , - , 3 , 0 \ - , 3 , Є , - ,

 

,

, ,

,

, , , ,

1 1 1 „1

1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 І 1 1 1 1 1 1 1 1 1 1 1 , 1 1 1 1 1

1 1 1 1 ,

I I I і,

1 . J 1 . [ . . 1 1 - 1 1 1 1 1 1 1 t • 1 f 1 ( \ 1 f . t 1 1 1 , , 1 1 , ,

 

А л ф а в и т н о - ц и ф р о в о е

с л о в о

(текстовая

константа)

задается оператором « К о н с т а н т а

 

т е к с т о в а я » (КТ).

 

Адресной частью оператора являются символы, записанные в позициях 22-26. Им соответствуют символы 0—4 в ячейке МОЗУ. Остальные позиции воспринимаются как замечания.

Пример см. на стр. 54.

63

 

Зтииетно

 

Hon

 

 

 

 

 

 

 

 

 

о

 

іамечанив

 

 

 

 

 

 

t!\ і

і . «

I7t

 

 

\!1

22i

і

<№\

» , ,

|Jfl|

і

 

 

 

 

 

і

і

1

! « *

1

1

 

Л > . , •

"\ r , ,

 

/ " і У і ^ I ^ J

1 1 і. 1 1 і

і і і

 

a

 

і j і і

1 1 1 • і . I

 

г,г,

,

,

 

* l

Ті

1

 

M,ltN,s\Hi

iitg\

,B,

 

 

 

у,м\е,г,

 

 

 

 

 

 

 

г,з,

,

,

 

 

 

 

 

с,м,г,з\е,

, ,

, ,

,

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

"l

Ті

і

 

і

і I

 

 

 

1

1 1 1

і

і

t

і

}

 

Л « і

.

, •

К

ТІ

і

 

ПІРІГІЛРІ

i S i T S ,

,c

S,/>,/,»

Ы

а

 

 

1

 

 

і

і

і

і

і

 

і і

і

і

 

1

і

і

l

ЯІМІНІ^

 

, r l e T H t c l z l

 

в і

 

£

к

1

1

I1

1 1

і

і

I

1

I

 

 

 

 

 

1

1 1 1

 

і і і і

• і і і

 

 

 

 

 

 

X,

, ,

 

 

 

 

1 -

• і і

і

і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1 1 1

 

Iі

I

 

 

 

Л 5 ,

,

,

H

т% ,

fl\

і

і і

. і і

і і

і

1

1

1

 

 

1

I

і

і

і

 

. L..: I

 

I

1

1

.

I

,

 

 

l

 

 

 

 

 

і

 

 

 

 

 

 

 

 

 

 

 

 

 

1 . 1 ; і J і і і і і • і і .

і і і і і

 

 

 

t i l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Изображение

трех первых алфавитно-цифровых

 

слов

в ячей­

ках МОЗУ

приведено на рис. 27. Ячейки, которые

 

они

 

занимают,

не

обязательно

 

должны

располагаться

подряд.

Следующие же

три

ячейки

содержат связный текст' и поэтому должны

следовать

друг за другом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заметим,

что

любое

алфавитно-цифровое

слово

 

можно

задать

в виде логической константы оператором КЧ. Это следует исполь­

зовать,

если, например, требуется

задать

текст,

содержащий не

изображаемые литерами символы

ГОСТ.

 

 

 

 

 

 

 

2.14. ЗАПИСЬ КОМАНД ПРИ СИМВОЛИЧЕСКОМ КОДИРОВАНИИ

 

 

При записи операторов, соответствующих командам,

различа­

ют кодовую и адресную части. Кодовая часть оператора

отвечает

коду операции

команды и записывается

в графе

«КОП»

бланка.

Она представляет собой сокращенное название команды

(ее мне­

монический код), содержащее от одной до пяти букв. Для

записи

кодовой части

команд с положительными

кодами

операций

могут

использоваться

наравне с мнемоническими

кодами

сами

цифро­

вые коды операций

со знаком + . Адресная

часть

оператора в

общем

случае

содержит индекс и два адреса

и записывается в

графе

«Адреса

и замечания» бланка. Индекс,

первый

и второй

адреса

отделяются

друг от друга

знаком

« ; » ,

а перед

индексом

всегда

ставится зна"к « :».

 

 

 

 

 

 

 

 

Порядок записи адресной части соответствует структуре команды, а именно: сначала записывается индекс-адрес, затем адрес первого операнда, далее адрес второго операнда. Таким об­ разом, оператор в общем случае имеет следующий формат:

К0П:И;В1;В2 Здесь: К 0 П — кодовая часть оператора;

И — номер

индекса;.

 

 

В1 и В2 — соответственно

адреса первого и второге

 

операндов.

 

 

Наличие некоторых элементов

оператора не

обязательно.

Такие элементы будут

записываться в дальнейшем

в квадратных

скобках. Например, запись

54

К 0

П [:И;] В1;В2

 

означает, что номер индекса

в операторе

может

не записываться.

Н о м е р и н д е к с а может

быть

записан либо

десятичным чис­

лом от 1 до 15, либо восьмеричным

числом

от 1 до 17 с буквой В

после него, либо этикеткой. При этом этикетка

должна получить

в программе какое-либо значение. Для указания числового значе­ ния этикетки имеется оператор «Значение» (ЗНАЧ). Этикетки, значения которых определяются непосредственно при составлении программы, будем в дальнейшем называть абсолютными этикет­

ками. Такие этикетки используются не только

для задания номе­

ров индекса, но и для задания,

например, номеров базиса, уровня,

символа и т. п.

 

 

 

 

А д р е с о п е р а н д а может

быть записан

как

относительный

адрес с базисом. Вначале записывается

базис,

а затем — относи­

тельный адрес. Они разделяются ч знаком

«,». Базис

может быть

записан как число от 0 до 3, либо как абсолютная этикетка. Отно­ сительный адрес может быть записан как этикетка, как десятич­ ное число от 0 до 2047 или как восьмеричное число от 0 до 3777 с буквой В после него. Числовое значение относительного адреса определяется положением операнда относительно начала некбто-

рого участка программы. Если относительный

адрес

указан

эти­

кеткой, то числовое

 

значение его определяет

транслятор.

 

 

 

 

При

записи адреса

базис в адресе

 

запятую

 

после

него)

можно не указывать, его в этом случае

 

также

поставит

трансля­

тор по информации, заданной в другом месте программы

операто­

ром «Базис»

(БАЗ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наиболее

распространенной

является

запись

адреса

операнда

в виде этикетки без указания базиса.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приведем примеры записи адресной части

операторов,

не за­

писывая при этом, к какому коду операции она относится.

 

 

 

# і

і

і » і

і і і

да і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

I

1 »

.?.

• . ' , « ] * , * ,

./>Л,е<[

 

 

 

 

 

 

 

 

 

 

 

6

?

,

1

 

1

1

1

 

 

 

 

 

C

o ,

,6,/>,j

,C ^J\IO\T,H,/>

 

 

, я ,

, э

 

r

и

 

 

 

Kf/r,

 

1

' . • SAX'S

 

 

 

1

 

 

1 1 1 1 1 1

1

1

I

I I

 

 

—1

,

1

 

1

1

ц

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

t/t,l,#tC

, , i / f i

\HJ3-\Cxll>rxl

 

 

t/l,u

\H

 

0/

ti

,-»ІЛ

 

,c,

 

я і * іб і і

і і \

і і і

 

1

1 t

1 1 1 1 1 1 1 1 1 1 1 1 1 \ 1,

 

 

 

 

, .

 

1

I 1

 

 

 

 

 

 

 

 

t,

-.0.

 

 

яьЧ1Й\Л,Ь1н>0\й\

, / >

,

ч

,

, Y

,

V

,с /

1? /г,/11

 

 

 

 

f

i f

1

1 Ь 1 1 1

 

1 • I 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1

 

 

 

 

, 1

 

1 1 1

.

і '

і і і

і • і і

і

і

і і

і і і і

і

 

 

і

і і

і

і

і

!

і

і

і і

 

 

 

 

 

Л

1 1 1 1-І I — і 1 1 1 1 1 1 I } 1 1 t 1 1 1 1 1 1 1

 

 

 

 

 

I

I I I

'

1 l _ «

 

 

 

 

 

 

Этикетка при записи операнда может быть составной. Состав­ ная этикетка представляет собой выражение вида А1 ± А 2 ± А З ± . . . .

Количество слагаемых ограничивается только длиной графы «Ад­ реса и замечания» на бланке для записи символических программ.

55

Первое слагаемое всегда должно быть этикеткой, последующие — либо этикеткой, либо целыми числами.

Например,

АЧ-2 BETA —4 А 1 - В 2 + 1

Составные этикетки удобно использовать, если программа об­

рабатывает

несколько

ячеек, расположенных

 

подряд. Тогда, по­

метив этикеткой

первую из этих ячеек, можно

указывать

адреса

соседних

с

ней

ячеек

с помощью

составных

этикеток. Составная

этикетка,

таким

образом, указывает адрес

относительно некото­

рой другой

этикетки.

 

 

 

 

 

 

 

 

Если требуется указать адрес операнда относительно операто­

ра, в котором записывается этот

адрес,

то

первое слагаемое со­

ставной этикетки записывается как символ «*».

Например,

адрес

операнда

*

+ 1

означает адрес следующего оператора за записы­

ваемым,

а

адрес * — адрес самого

записываемого

оператора.

При записи

команд

можно

использовать

не

только

адреса

операндов,

но и

сами операнды

 

(числа

и

алфавитно-цифровые

слова). В этом случае

операнд

называется л и т е р а л о м .

Разли­

чаются литералы числовые и текстовые. Числовой

литерал

запи­

сывается в виде числа со знаком. Знак позволяет отличать его от числового относительного адреса в адресной части оператора. В остальном запись литералов аналогична записи чисел в опера­ торе КЧ. Текстовый литерал записывается в виде текстовой ин­ формации, которая заключается в кавычки («'», «'»). В кавычках записывается не более пяти символов.

Пример.

'2.500', 'ДЛИНА', 'БЛ2'

Если текстовый литерал содержит менее пяти символов, то недостающие символы транслятор заполняет пробелами. Так, ли­ терал 'БЛ2' в ячейке МОЗУ будет записан в символах 04-2, а символы 3 и 4 будут содержать код пробела. Текстовые литералы не должны содержать символа «'».

2.15. СООТВЕТСТВИЕ ЭТИКЕТОК И ОБЪЕКТОВ ПРОГРАММЫ

Как уже говорилось, этикетки для объектов программы выби­

рает программист. При анализе уже

написанной программы

или

ее части может оказаться, что объекты, помеченные

разными

эти­

кетками, представляют собой одно и то же или же могут

занимать

одну ячейку памяти. Чтобы сообщить

транслятору,

что

одинако­

вый объект имеет в программе две различных этикетки, програм­ мист может использовать оператор «Эквивалент».

Если программа пишется по частям разными программистами, то не исключено употребление одинаковых этикеток для разных

56

объектов. С

целью предотвращения

такой двусмысленности в

ЯСК имеется

оператор, ограничивающий

область

действия от­

дельных этикеток в программе. Он

носит

название

«Перечень

освободившихся этикеток».

 

 

 

При составлении программы программист должен дать конк­ ретное числовое значение некоторым абсолютным этикеткам, ис­ пользованным в программе. Для этой цели используется оператор «Значение».

ЭКВИВАЛЕНТ (ЭКВ)

Оператор имеет вид

Этикетка

1!\ | ,

Л\1\ і і

• і і і

і і і і

Hon

 

 

 

 

 

 

 

 

 

 

і

і

1*'

S2i

і

 

fill

,

і

,

, » |

ЗіН\Ві.

 

і

л,г,

 

,

J

,

і

.

і

,

' - г г

1

'

і

і

і

і

і

і

і

і

і

1 1 1 1

і

і

і

і

і

і

і

і і

Наименованию, записанному в графе «Этикетка», присваивает­ ся то же значение, которое имеет этикетка, записанная в адресной части. Этикетка, записанная в адресной части, должна быть опре­ делена выше. Этикетка, стоящая в адресной части, может быть со­ ставной.

Примеры

Зтикетна

 

 

Hon

 

 

 

 

 

 

 

 

 

лфеса

 

і

і

\><>

і

і

221

p

рй5і

і і

f

$Q\

f

f

і

 

 

8\Л\1\

 

р

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

« і

і

і.

і

S,K,8,

і

 

 

 

 

 

 

 

 

 

 

 

A I

 

1 1 і і

 

 

 

 

 

 

і і

 

 

 

 

Э\Н\В\

і

I

1

I

I '

I

t

1

* V i

 

\

\

НіО,чг\

 

p і

і

і

і

> ,

і

' і

і

і

і

t і

I

I

P ,

і

і

p }

і і

і

і і

і

p

p t

і

,

,

,

.

1

1

p 1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

і

і і

і і

і

і

і

і

і. . і

і

і

П Е Р Е Ч Е НЬ ОСВОБОДИВШИХСЯ

ЭТИКЕТОК

 

( П 0 Э Т )

 

 

Оператор записывается следующим образом: в кодовой части—

П0ЭТ,

в адресной

части — перечень этикеток. Одна этикетка от

другой

отделяются

знаком «;». Если перечень освободившихся

эти­

кеток не помещается в одной строке, то продолжение перечня

мож­

но записать в следующих строках. В этом случае кодовая

часть

всех строк, кроме первой, может не заполняться. Разрывать эти­ кетки, т. е. записывать в одной строке начало этикетки, а в следую­ щей — ее продолжение, нельзя.

Пример

 

Hon

 

 

 

 

 

 

 

 

 

/!феса

 

и

 

заме-

ла.э.тъ.

Я " |

І

І # І

і

і

t

1*4

1

1

1

1«1

1

1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

р р..

и,#,н^\;,н,/,//,е,4,

 

 

 

,

і

 

 

 

 

1

1

к 1 1

V і

і

і і

і

і

і

і і

і

і

і.

і і

і

і і

і

і

—L

1

1 1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

. і

 

u 1 . 1

і . » і.

i.

t.

» * * L і

і

(

 

 

 

k. і ;

57

Записывая в программе этот оператор, программист имеет воз­ можность во всех операторах после него употреблять те же этикет­ ки для обозначения других объектов программы.

ЗН А Ч Е Н ИЕ (ЗНАЧ)

Вкодовой части записывается ЗНАЧ, в адресной — число либо относительный адрес с базисом, которое присваивается наимено­ ванию, стоящему в графе «Этикетка».

Примеры

Сгрока

иле

гitо

 

коп

 

» |

 

 

 

 

 

 

 

 

 

 

Дфеса

 

о

 

заме

t

, ,"

Ч\

,

,

,'6

 

 

 

 

|25|

і

,

і

ДО

 

 

1

1

|Л*|

1

1

г

 

 

0

,1,0

v,c,r,

 

,

з

Н ,А

,4,

4,J

 

 

'

і

і

і

і

і

 

 

 

1

1

X

і

I

 

і

'

0

,2,0

 

 

 

 

і

Н,Я,Ч,

 

1 . .

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я,

,

,

,

 

• » , ' (

,

,

,

, .

 

 

 

 

 

 

 

 

 

 

1

0

,3,0

 

 

,ч,

 

 

 

 

 

 

 

 

 

 

 

 

і

Н,Й

 

 

В,

1

,

,

,

і

,

 

 

 

 

 

 

 

 

 

 

0

,4,0

с,

,

,

,

I

Н ,Й

, v ,

 

 

0,010,5,0,

 

,

,

 

 

і

і

і

і

і

і

і

І

і 1

0

,3,0

 

 

 

 

 

1 1

1

,

1

1

.1

С

1

1

1

1

1

1

і 1

іI

і1

і 1

>1

і1

і1

1і1

0

,6,0

,

,

I

1

 

 

 

 

 

 

1

 

 

1

1—1

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

L

J

1

1

1 '

'

'

'

' '

 

1

'

'

1

 

 

 

 

 

 

 

 

 

 

 

2.16. ПЕЧАТЬ ПРОГРАММЫ ПРИ СИМВОЛИЧЕСКОМ

 

КОДИРОВАНИИ

 

Каждая

программа, написанная

 

программистом,

 

иопользуется

им в дальнейшей

работе. Для программиста

 

транслятор

символи­

ческого кодирования

 

печатает

на УПч транслируемую

символиче­

скую программу и результаты своей работы. Программист

получа­

ет напечатанный

документ, где параллельно с каждым

 

из операто­

ров СИМП указан его машинный эквивалент. Транслятор

печатает

также ошибки,

обнаруженные

им

при переводе

 

программы, ма­

шинное представление литералов, некоторую справочную

информа­

цию о программе.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Печатный документ, получаемый при трансляции, представляет собой листы определенного формата. Программист может в какойто мере управлять оформлением этого документа, не изменяя, од­ нако, его формат. Так имеется возможность озаглавить каждую страницу документа и изменять это заглавие, оставлять отдельные строки при печати свободными, выводить комментарии. Для этой цели служат операторы «Пропустить строки при печати програм­ мы», «Печатать заглавие», «Печатать комментарий».

ПРОПУСТИТЬ СТРОКИ ПР И ПЕЧАТИ ПРОГРАММЫ ( П Р 0 П )

В кодовой части оператора

записывается П Р 0

П , а в адресной

части — число, указывающее

количество

строк бумаги, которые

необходимо" оставить незаполненными на всю ширину

листа при

выводе программы

на УПч. Строки пропускаются,

начиная с того

места программы,

где указан

оператор

П Р 0 П .

Если

количество

строк, оставшихся до конца листа, меньше числа, заданного в опе­ раторе, то печать начинается с начала следующего листа.

58

Примеры

 

ЙОГ)

 

 

і t ОД і

Дфеса

и

замечания

 

 

 

» \

. і s21 22,

, |25| ' ,

і і ДОі

я

1

1 1 1

1

|

|

"~,Р\#,Р\

 

1

, п х р ^ , п , у , с , н

1 * 1

ІС,Г,Р0,/і,

,

,

,

 

 

 

-Л\Л\Й,

х/7>Р\0\Л,У

с

К\Я,

\и0,

,С\ГхР&,Н,

 

 

 

,

і

і і 1

 

 

 

 

(

 

 

 

 

1 1 о 1 1 1 | 1 1 1 1 1 1 1 1 1 | 1 I I

1 1 1 1 1 1 (

 

і

і і і

 

1

 

 

 

1

 

 

 

 

і , і

і

і і і і і і

і і і і і

і

і | 1, » і і і

і і

і

 

 

 

 

Оператор

может

использоваться

для отделения при печати одной

части программы от другой.

 

 

 

 

 

 

 

ПЕЧАТАТЬ

ЗАГЛАВИЕ

(ЗАГЛ)

 

 

 

 

 

 

 

В кодовой части оператора записывается ЗАГЛ, в адресной ча­

сти — произвольная информация. Она может

занимать

несколько

строк бланка, причем

ЗАГЛ достаточно записывать

только в пер­

вой из них.

 

 

 

 

 

 

 

 

 

 

При появлении этого оператора строки, оставшиеся до конца

листа, пропускаются,

дальнейший текст программы

начинает вы­

водиться

с нового листа, причем в начале

листа печатается загла­

вие, приведенное в адресной части оператора ЗАГЛ. Это заглавие повторяется на каждом очередном листе документа до появления нового оператора ЗАГЛ. При появлении ^такого оператора вывод вновь начинается с нового листа, и печатается новое заглавие. Ес­ ли* оператор ЗАГЛ отсутствует в начале программы, то на всех ли­ стах до первого оператора ЗАГЛ на месте заглавия ничего не пе­ чатается. Оператор рекомендуется использовать перед отдельными

частями программы,

имеющими

 

более или менее самостоятельное

значение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЕЧАТАТЬ КОММЕНТАРИИ

(К0ММ)

 

 

 

 

 

 

 

 

 

В кодовой части оператора записывается

 

К0ММ,

в адресной

части — произвольная

информация. Эта информация

может зани­

мать на бланке

несколько строк, тогда

К 0 М М

достаточно

записы­

вать только в первой из них.

 

 

 

 

 

 

 

 

 

 

 

 

Пример.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hon

,г>» і

 

 

 

 

 

 

 

/Рфеса

 

и

 

замечаниі

 

і

і

і

1 %

і

і

і

і і

k9 i

t

і

і

f«0i і |

 

 

Н \0\М

\М\

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 . 1

1 1

1 1

1 j

1

1

1

1

1

t . І

1,. 1 1

1

)

1

1 1

 

 

Оператор позволяет включать в символическую программу

строки

с произвольным

текстом

(комментарии). В качестве таких

коммен­

тариев могут быть названия отдельных блоков программы или по­ яснения к ним.

Комментарием является также любая строка, в первой позиции кодовой части которой записан символ «*».

59

Соседние файлы в папке книги из ГПНТБ