КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 712796 томов
Объем библиотеки - 1401 Гб.
Всего авторов - 274560
Пользователей - 125074

Новое на форуме

Новое в блогах

Впечатления

Влад и мир про Шенгальц: Черные ножи (Попаданцы)

Читать не интересно. Стиль написания - тягомотина и небывальщина. Как вы представляете 16 летнего пацана за 180, худого, болезненного, с больным сердцем, недоедающего, работающего по 12 часов в цеху по сборке танков, при этом имеющий силы вставать пораньше и заниматься спортом и тренировкой. Тут и здоровый человек сдохнет. Как всегда автор пишет о чём не имеет представление. Я лично общался с рабочим на заводе Свердлова, производившего

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
Влад и мир про Владимиров: Ирландец 2 (Альтернативная история)

Написано хорошо. Но сама тема не моя. Становление мафиози! Не люблю ворьё. Вор на воре сидит и вором погоняет и о ворах книжки сочиняет! Любой вор всегда себя считает жертвой обстоятельств, мол не сам, а жизнь такая! А жизнь кругом такая, потому, что сам ты такой! С арифметикой у автора тоже всё печально, как и у ГГ. Простая задачка. Есть игроки, сдающие определённую сумму для участия в игре и получающие определённое количество фишек. Если в

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
DXBCKT про Дамиров: Курсант: Назад в СССР (Детективная фантастика)

Месяца 3-4 назад прочел (а вернее прослушал в аудиоверсии) данную книгу - а руки (прокомментировать ее) все никак не доходили)) Ну а вот на выходных, появилось время - за сим, я наконец-таки сподобился это сделать))

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

В начале

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Стариков: Геополитика: Как это делается (Политика и дипломатия)

Вообще-то если честно, то я даже не собирался брать эту книгу... Однако - отсутствие иного выбора и низкая цена (после 3 или 4-го захода в книжный) все таки "сделали свое черное дело" и книга была куплена))

Не собирался же ее брать изначально поскольку (давным давно до этого) после прочтения одной "явно неудавшейся" книги автора, навсегда зарекся это делать... Но потом до меня все-таки дошло что (это все же) не "очередная злободневная" (читай

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Москаленко: Малой. Книга 3 (Боевая фантастика)

Третья часть делает еще более явный уклон в экзотерику и несмотря на все стсндартные шаблоны Eve-вселенной (базы знаний, нейросети и прочие девайсы) все сводится к очередной "ступени самосознания" и общения "в Астралях")) А уж почти каждодневные "глюки-подключения-беседы" с "проснувшейся планетой" (в виде галлюцинации - в образе симпатичной девчонки) так и вообще...))

В общем герою (лишь формально вникающему в разные железки и нейросети)

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).

Обзорный курс по языкам программирования [Антон Евгеньевич Москаль kouzdra] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Îáçîðíûé êóðñ ïî ÿçûêàì ïðîãðàììèðîâàíèÿ
Àíòîí Ìîñêàëü

17 ÿíâàðÿ 2003 ã.

Îãëàâëåíèå
1

2

Îñíîâíûå êîíöåïöèè ÿçûêîâ ïðîãðàììèðîâàíèÿ

2

1.1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.1.1

ïåðåõîäû, õâîñòîâàÿ ðåêóðñèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.1.2

if, match

2

1.1.3

öèêëû,

1.1.4

èñêëþ÷åíèÿ

Óïðàâëÿþùèå êîíñòðóêöèè

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

while

÷åðåç ðåêóðñèþ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

ßçûêè ïðîãðàììèðîâàíèÿ

3

2.1

3

2.2

2.3

2.4

ßçûêè àññåìáëåðà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PDP-11

2.1.1

Ñèñòåìà êîìàíä

2.1.2

Ìåòêè, ëîêàëüíûå ìåòêè, îïåðàòîðû ïðèñâàèâàíèÿ è ñåêöèîíèðîâàíèÿ . . . . . . . . .

5

2.1.3

Ìàêðîñðåäñòâà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.1.4

Ìèíèìàëüíàÿ àðõèòåêòóðà:

ßçûê

C

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PDP-8

3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2.1

CPL, BCPL,

ñîçäàíèå

B

2.2.2

Îïèñàíèå

B

2.2.3

PDP-11 :

2.2.4

Äàëüíåéøàÿ ýâîëþöèÿ

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

Ýâîëþöèÿ

Ôóíêöèîíàëüíûå ÿçûêè

B

â

C

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

C

λ-èñ÷èñëåíèÿ

2.3.1

Îñíîâíûå ïîíÿòèÿ

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3.2

LISP, Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3.3

ML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3.4

ëåíèâûå ÿçûêè: Haskell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.3.5

Ââîä-âûâîä â ÷èñòî ôóíêöèîíàëüíûõ ÿçûêàõ, ëèíåéíûå òèïû â Clean

. . . . . . . . .

6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.1

Simula-67 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.2

SmallTalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.3

Self: Áåcêëàññîâûé ÎÎ-ÿçûê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.4

Ðàçëè÷íûå âèäû íàñëåäîâàíèÿ

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4.5

Ìóëüòèìåòîäû: ßçûê Cecil

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

Îáúåêòíî-îðèåíòèðîâàííûå ÿçûêè

1

Ãëàâà 1

Îñíîâíûå êîíöåïöèè ÿçûêîâ
ïðîãðàììèðîâàíèÿ
1.1

Óïðàâëÿþùèå êîíñòðóêöèè

1.1.1

ïåðåõîäû, õâîñòîâàÿ ðåêóðñèÿ

1.1.2

if, match

1.1.3

öèêëû,

1.1.4

èñêëþ÷åíèÿ

while

÷åðåç ðåêóðñèþ

2

Ãëàâà 2

ßçûêè ïðîãðàììèðîâàíèÿ
2.1

ßçûêè àññåìáëåðà

ßçûêè àññåìáëåðà ÿâëÿþòñÿ ÿçûêàìè íèçêîãî óðîâíÿ, ïðåäíàçíà÷åííûìè äëÿ ïðîãðàììèðîâàíèÿ â òåðìèíàõ ìàøèííûõ êîìàíä. Íàèáîëåå ñóùåñòâåííûìè èõ îñîáåííîñòÿìè ÿâëÿþòñÿ:



ïðÿìîå ñîîòâåòñòâèå îïåðàòîðîâ àññåìáëåðà è ìàøèííûõ êîìàíä



ñðåäñòâà, ïîçâîëÿþùèå äåòàëüíî óïðàâëÿòü ðàçìåùåíèåì ïðîãðàììû è äàííûõ â ïàìÿòè



ìàêðîñðåäñòâà, ïîçâîëÿþùèå ñîçäàâàòü ïñåâäîêîìàíäû íåñêîëüêî áîëåå âûñîêîãî óðîâíÿ, íåæåëè
ìàøèííûå îïåðàöèè

 ñâîå âðåìÿ ÿçûêè àññåìáëåðà èñïîëüçîâàëèñü êàê ÿçûêè äëÿ ñèñòåìíîãî ïðîãðàììèðîâàíèÿ: íà íèõ
ïèñàëèñü îïåðàöèîííûå ñèñòåìû, êîìïèëÿòîðû è ïðîñòî ñòàíäàðòíûå óòèëèòû. Âûçûâàëîñü ýòî ñ îäíîé
ñòîðîíû íåäîñòàòêîì ãèáêîñòè òîãäàøíèõ ÿçûêîâ âûñîêîãî óðîâíÿ, ñ äðóãîé ñòîðîíû  êðàéíåé îãðàíè÷åííîñòüþ ðåñóðñîâ. Àññåìáëåð ïîçâîëÿåò âûæàòü èç àïïàðàòóðû ìàêñèìóì âîçìîæíîãî, îñîáåííî,
ïîêà îáúåìû ïðîãðàìì ñðàâíèòåëüíî íåâåëèêè è ïðîáëåìû, ñâÿçàííûå ñî ñëîæíîñòüþ è óïðàâëÿåìîñòüþ
ïðîåêòà íå íà÷èíàþò ñòàíîâèòüñÿ îïðåäåëÿþùèìè.
À íà ìàøèíàõ, ó êîòîðûõ îáúåì ïàìÿòè èñ÷èñëÿëñÿ òûñÿ÷àìè, â ëó÷øåì ñëó÷àå  äåñÿòêàìè òûñÿ÷
ñëîâ, îíè íå ìîãëè áûòü âåëèêè.
Ñî âðåìåíåì îáëàñòü ïðèìåíåíèÿ àññåìáëåðà ñóæàëàñü, è â íàñòîÿùèé ìîìåíò îíà îãðàíè÷åíà ïðîãðàììèðîâàíèåì êðèòè÷åñêèõ ïî ýôôåêòèâíîñòè ôðàãìåíòîâ êîäà (÷àñòî ïåðåïèñûâàíèå íåñêîëüêèõ äåñÿòêîâ
ñòðîê êðèòè÷åñêîãî ó÷àñòêà êîäà íà àññåìáëåð ñïîñîáíî äàòü âûèãðûø â ñêîðîñòè â íåñêîëüêî ðàç, èíîãäà
íà ïîðÿäêè), îñîáåííî, åñëè òàì âîçìîæíî èñïîëüçîâàíèå ñïåöèàëèçèðîâàííûõ êîìàíä, íàïîäîáèå êîìàíä
ñèãíàëüíûõ ïðîöåññîðîâ èëè

IA-32 SSE .

Êðîìå ýòîãî, ÿçûê àññåìáëåðà ÷àñòî èñïîëüçóåòñÿ êàê ïðîìåæóòî÷íîå ïðåäñòàâëåíèå ïðîãðàììû â

Unix,

ïðîöåññå êîìïèëÿöèè: áîëüøèíñòâî êîìïèëÿòîðîâ, ðàáîòàþùèõ ïîä

ïîðîæäàþò èìåííî àññåìáëåð,

êîòîðûé ïîòîì óæå êîìïèëèðóåòñÿ â îáúåêòíûé êîä.

2.1.1

PDP-11

Ñèñòåìà êîìàíä

PDP-11

 îäíà èç âû÷èñëèòåëüíûõ ìàøèí, ðàçðàáîòàííûõ ôèðìîé

DEC

(

Digital Equipment Corporation ) â

??? ãîäó. Õîòÿ ìàøèíà ïîëíîñòüþ óñòàðåëà, åå àðõèòåêòóðà îêàçàëà áîëüøîå âëèÿíèå íà ïîñëåäóþùóþ
ýâîëþöèþ âû÷èñëèòåëüíîé òåõíèêè, à ïîÿâèâøèåñÿ íà íåé ÎÑ

Unix

è ÿçûê ïðîãðàììèðîâàíèÿ

C

äî ñèõ

ïîð ÿâëÿþòñÿ âàæíåéøèìè èíñòðóìåíòàëüíûìè ñðåäñòâàìè.

PDP-11

ÿâëÿåòñÿ 16-ðàçðÿäíîé ìàøèíîé ñ áàéòîâîé àäðåñàöèåé. Îíà èìååò âîñåìü ðåãèñòðîâ îáùåãî

íàçíà÷åíèÿ, èìåþùèõ íîìåðà ñ 0 äî 7. Ðåãèñòðû 6 è 7 âûïîëíÿþò ñïåöèàëüíûå ôóíêöèè: Ðåãèñòð 7 íàçûâàåòñÿ ñ÷åò÷èêîì êîìàíä è ñîäåðæèò àäðåñ ñëåäóþùåé, ïîäëåæàùåé âûïîëíåíèþ, èíñòðóêöèè. Ðåãèñòð
ñ÷åò÷èêà êîìàíä îáîçíà÷àåòñÿ

PC (program counter ). Ñ íèì ìîæíî âûïîëíÿòü âñå òå æå îïåðàöèè, êîòîðûå
3

ìîæíî âûïîëíÿòü è ñ îáû÷íûìè ðåãèñòðàìè, íî ñëåäóåò èìåòü â âèäó, ÷òî èçìåíåíèå åãî ñîäåðæèìîãî
ïðèâîäèò ê èçìåíåíèþ òîãî, êàêàÿ êîìàíäà áóäåò âûïîëíåíà ñëåäóþùåé. Ñêàæåì, çàñûëêà àäðåñà â

PC ïî

äåéñòâèþ ýêâèâàëåíòíà îïåðàöèè áåçóñëîâíîãî ïåðåõîäà.
Ðåãèñòð 6 íàçûâàåòñÿ óêàçàòåëåì ñòåêà

SP

(

stack pointer ) è ìàëî îòëè÷àåòñÿ îò îáû÷íûõ ðåãèñòðîâ.

Îñòàëüíûå ðåãèñòðû îáû÷íî îáîçíà÷àþòñÿ èìåíàìè
Êîìàíäû

PDP-11

R0R5.

ñîñòîÿò èç îäíîãî ñëîâà, çà êîòîðûì, â çàâèñèìîñòè îò âèäîâ îïåðàíäîâ, ìîãóò ñëåäî-

âàòü îäíî èëè äâà ñëîâà äàííûõ. Êîìàíäû

PDP-11

áûâàþò äâóõ-, îäíî-, è áåçàäðåñíûå. Ó ïîäàâëÿþùåãî

áîëüøèíñòâà êîìàíä îïåðàíä êîäèðóåòñÿ óíèôèöèðîâàííûì îáðàçîì: êàæäûé îïåðàíä çàíèìàåò â êîäå
êîìàíäû 6 áèò, ïåðâûå òðè èç êîòîðûõ çàäàþò ñïîñîá àäðåñàöèè, à ïîñëåäíèå òðè  íîìåð èñïîëüçóåìîãî
äëÿ àäðåñàöèè îïåðàíäà, ðåãèñòð:

M2

M1

M0

R2

R1

R0

Îñíîâíûå âèäû àäðåñàöèè

M = 0:

Ðåãèñòðîâàÿ àäðåñàöèÿ. Èñïîëüçóåòñÿ äëÿ íåïîñðåäñòâåííîãî îáðàùåíèÿ ê ðåãèñòðó, íîìåð êîòîðîãî
ñîäåðæèòñÿ â ìëàäøèõ òðåõ áèòàõ

R.

 ÿçûêå àññåìáëåðà ýòîò âèä àäðåñàöèè îáîçíà÷àåòñÿ ïðîñòî

èìåíåì èëè íîìåðîì ðåãèñòðà ( R0 ëèáî

M = 2:

%0)

Êîñâåííàÿ ïîñò-àâòîèíêðåìåíòíàÿ àäðåñàöèÿ: íîìåð ðåãèñòðà èñïîëüçóåòñÿ â êà÷åñòâå àäðåñà îïåðàíäà. Ïîñëå èñïîëüçîâàíèÿ ïðîèçâîäèòñÿ óâåëè÷åíèå åãî ñîäåðæèìîãî íà 1 èëè 2 (â çàâèñèìîñòè
îò òîãî, ðàáîòàåò ëè äàííàÿ êîìàíäà ñ áàéòàìè èëè ñî ñëîâàìè)
íà àññåìáëåðå òàê:

M = 4:

(R5)+ .

1 . Çàïèñûâàåòñÿ ýòîò âèä îïåðàíäîâ

Êîñâåííàÿ ïðå-àâòîäåêðåìåíòíàÿ àäðåñàöèÿ: àíàëîãè÷íà ïðåäûäóùåìó âèäó, íî ñîäåðæèìîå ðåãèñòðà, óìåíüøàåòñÿ , à íå óâåëè÷èâàåòñÿ, è ïðîèçâîäèòñÿ ýòî ïåðåä èñïîëüçîâàíèåì ñîäåðæèìîãî
ðåãèñòðà â êà÷åñòâå àäðåñà. Çàïèñûâàåòñÿ ýòîò âèä îïåðàíäîâ íà àññåìáëåðå òàê:

M = 6:

-(SP) .

Îòíîñèòåëüíàÿ àäðåñàöèÿ: ïðè âû÷èñëåíèè àäðåñà âûáèðàåòñÿ çíà÷åíèå ñëîâà, íà êîòîðîå â äàííûé
ìîìåíò óêàçûâàåò

PC

(çíà÷åíèå ñ÷åò÷èêà êîìàíä ïðè ýòîì óâåëè÷èâàåòñÿ íà 2) è â êà÷åñòâå àäðåñà

èñïîëüçóåòñÿ ñóììà ýòîãî ñëîâà ñ áàçîâûì ðåãèñòðîì.
Âèäû àäðåñàöèè ñ íå÷¼òíûìè íîìåðàìè ( M0

= 1)

ÿâëÿþòñÿ êîñâåííûìè ìîäèôèêàöèÿìè ñîîòâåò-

ñòâóþùèõ ÷¼òíûõ âèäîâ àäðåñàöèè. Ýòî îçíà÷àåò, ÷òî çíà÷åíèÿ îïåðàíäîâ, ïîëó÷àåìûå â ðåçóëüòàòå
îáðàáîòêè ñîîòâåòñòâóþùåãî ÷åòíîãî âèäà àäðåñàöèè íå èñïîëüçóþòñÿ íåïîñðåäñòâåííî, à ðàññìàòðèâàþòñÿ â êà÷åñòâå àäðåñà îïåðàíäà. Ýòîò âèä àäðåñàöèè çàïèñûâàåòñÿ íà àññåìáëåðå ïóòåì ïðèïèñûâàíèÿ
â íà÷àëå îïåðàíäà çíà÷êà

|@|: @R0, @(R5)+ , @-(SP) , @10(R2) .

Äîïîëíèòåëüíûå âèäû àäðåñàöèè

 ñëó÷àå, êîãäà â êà÷åñòâå áàçîâîãî ðåãèñòðà èñïîëüçóåòñÿ

PC,

íåêîòîðûå âèäû àäðåñàöèè ïðèîáðåòàþò îñîáûé ñìûñë:



Íåïîñðåäñòâåííàÿ

àäðåñàöèÿ: ðàññìîòðèì êîìàíäó

MOV (PC)+, R0 .

 ìîìåíò âûáîðêè ïåðâîãî îïå-

ðàíäà PC óêàçûâàåò íà ñëîâî, ñëåäóþùåå çà ýòîé êîìàíäîé.  ðåçóëüòàòå îíî âûáèðàåòñÿ â êà÷åñòâå
îïåðàíäà, à

PC

ïðîäâèãàåòñÿ íà ñëåäóþùèé àäðåñ. Òàêèì îáðàçîì ôàêòè÷åñêè ýòà êîìàíäà çàñûëàåò

ëèòåðàë, ñëåäóþùèé çà íåé â ðåãèñòð

R0.

Ïîñêîëüêó íåîáõîäèìîñòü â òàêîé àäðåñàöèè âñòðå÷àåòñÿ ÷àñòî, òî äëÿ íåå â àññåìáëåðå
ââåäåíî ñïåöèàëüíîå îáîçíà÷åíèå:

#n.

PDP-11

Òî åñòü, åñëè â íàøåì ïðèìåðå çà êîìàíäîé ñëåäóåò ÷èñëî 1,

÷òî çàïèñûâàåòñÿ íà àññåìáëåðå ñëåäóþùèì îáðàçîì:

mov
.word

(pc)+, r0
1

òî âìåñòî ýòîãî ìîæíî íàïèñàòü ïðîñòî



mov #1, r0

ñëó÷àå èñïîëüçîâàíèÿ â ýòîì è ñëåäóþùåì âèäàõ àäðåñàöèè ðåãèñòðîâ

SP

è

PC,

èõ ñîäåðæèìîå âñåãäà óâåëè÷èâàåòñÿ

íà äâà, íåçàâèñèìî îò ðàçìåðà îïåðàíäà. Ýòî îáåñïå÷èâàåò ñîõðàíåíèå âûðàâíèâàíèÿ àäðåñà êîìàíäû èëè âåðõóøêè ñòåêà

4



Àáñîëþòíàÿ

àäðåñàöèÿ: åñëè âìåñòî àâòîèíêðåìåíòíîé àäðåñàöèè îòíîñèòåëüíî

êîñâåííàÿ àâòîèíêðìåíòíàÿ àäðåñàöèÿ ( M

= 3),

êà÷åñòâå àäðåñà îïåðàíäà: òàêèì îáðàçîì êîìàíäà

176560 .


PC

èñïîëüçóåòñÿ

òî ñëîâî, ñëåäóþùåå çà êîìàíäîé èñïîëüçóåòñÿ â

mov #1, @#17650

ïåðåøëåò ñëîâî

1

ïî àäðåñó

Îòíîñèòåëüíàÿ àäðåñàöèÿ: êîãäà â îòíîñèòåëüíîé àäðåñàöèè ( M = 6) â êà÷åñòâå áàçîâîãî ðåãèñòðà
PC,

èñïîëüçóåòñÿ
òûâàåìûé

òî ñëîâî, ñëåäóþùåå çà êîìàíäîé ôàêòè÷åñêè îáîçíà÷àåò àäðåñ îïåðàíäà, îòñ÷è-

îòíîñèòåëüíî àäðåñà òåêóùåé êîìàíäû.

 ïðèíöèïå, îòíîñèòåëüíàÿ è àáñîëþòíàÿ àäðåñàöèÿ âçàèìîçàìåíÿåìû (çà èñêëþ÷åíèåì òîãî, ÷òî
îòíîñèòåëüíàÿ àäðåñàöèÿ ìîæåò èñïîëüçîâàòü êîñâåííûì îáðàçîì), íî êàê ïðàâèëî àáñîëþòíîé àäðåñàöèåé ïîëüçóþòñÿ äëÿ îáðàùåíèÿ ê àäðåñàì, èìåþùèì ïîñòîÿííûé ôèçè÷åñêèé àäðåñ (âåêòîðàì
ïðåðûâàíèé, ïîðòàì âíåøíèõ óñòðîéñòâ è ò.ï.), òîãäà êàê îòíîñèòåëüíóþ àäðåñàöèþ èñïîëüçóþò äëÿ
îáðàùåíèÿ ê ïåðåìåííûì, ëåæàùèì âìåñòå ñ èñïîëíÿåìûì êîäîì. Ýòî ïîçâîëÿåò ìèíèìèçèðîâàòü
çàâèñèìîñòü êîäà ïðîãðàììû îò åå ìåñòîïîëîæåíèÿ â ïàìÿòè (â èäåàëüíîì ñëó÷àå - ñâåñòè åå ê
íóëþ).

PC

Îòíîñèòåëüíàÿ àäðåñàöèÿ îò

îáîçíà÷àåòñÿ ïðîñòî óêàçàíèåì àäðåñà èëè ìåòêè:

mov #1, 176562

ýêâèâàëåíòà ïî ñìûñëó êîìàíäå èç ïðåäûäóùåãî ïóíêòà.

2.1.2

Ìåòêè, ëîêàëüíûå ìåòêè, îïåðàòîðû ïðèñâàèâàíèÿ è ñåêöèîíèðîâàíèÿ

2.1.3

Ìàêðîñðåäñòâà

2.1.4

Ìèíèìàëüíàÿ àðõèòåêòóðà:

PDP-8

Ëèòåðàòóðà: [3]

2.2

ßçûê

C

2.2.1

CPL, BCPL,

2.2.2

Îïèñàíèå

B

ßçûê

ñîçäàíèå

B

B

áûë ðàçðàáîòàí äëÿ

2.2.3

PDP-11:

2.2.4

Äàëüíåéøàÿ ýâîëþöèÿ



ïðåïðîöåññîð

Ýâîëþöèÿ

C,

B

â

C
C

K&R C

• ANSI C
• C99
Ëèòåðàòóðà: [1], [2],

5

2.3

Ôóíêöèîíàëüíûå ÿçûêè

2.3.1

Îñíîâíûå ïîíÿòèÿ

2.3.2

LISP, Scheme

2.3.3

ML

2.3.4

ëåíèâûå ÿçûêè: Haskell

2.3.5

Ââîä-âûâîä â ÷èñòî ôóíêöèîíàëüíûõ ÿçûêàõ, ëèíåéíûå òèïû â Clean

2.4

λ-èñ÷èñëåíèÿ

Îáúåêòíî-îðèåíòèðîâàííûå ÿçûêè

2.4.1

Simula-67

2.4.2

SmallTalk

2.4.3

Self: Áåcêëàññîâûé ÎÎ-ÿçûê

2.4.4

Ðàçëè÷íûå âèäû íàñëåäîâàíèÿ

Ìíîæåñòâåííîå íàñëåäîâàíèå â Ñ++
Èíòåðôåéñû â Java
Signatures â GNU C++, íàñëåäîâàíèå â O'Caml

2.4.5

Ìóëüòèìåòîäû: ßçûê Cecil

Ëèòåðàòóðà: [4]

6

Ëèòåðàòóðà
[1] Dennis Ritchie,

Evolution of C

[2] Brian Kernighan, Dennis Ritchie,

C programming language

[3] Áðóñåíöîâ, Ìèíè-ÝÂÌ
[4] Simula-67

7