ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° элСмСнтов ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΈΠ΄Π΅Ρ‚ присвоСниС ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‚ΠΎ ΡΠ½Π°Ρ‡Π°Π»Π° ΠΈΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L, Π° Π·Π°Ρ‚Π΅ΠΌ происходит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ MVN, описанной Ρ€Π°Π½Π΅Π΅. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΈΠ΄Π΅Ρ‚… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° элСмСнтов ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΎΠ±Ρ€Π½Π°ΡƒΠΊΠΈ России Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ΡΠΊΠΈΠΉ государствСнный тСхничСский унивСрситСт Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ тСхничСской ΠΊΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠΈ

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… БистСм»

Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° элСмСнтов ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ компилятора с ΡΠ·Ρ‹ΠΊΠ° высокого уровня (Π―Π’Π£), ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² систСмы программирования, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСхнологичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€:

ΠŸΡ€ΠΈ этом прСдполагаСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ данная систСма программирования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ‚СхнологичСской Π­Π’Πœ (IBM PC) ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ кросс-систСмой для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ (Π•Π‘ Π­Π’Πœ). Π’ ΡΡ‚ΠΎΠΉ систСмС:

Β· Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка высокого уровня (Π―Π’Π£) Π²Ρ‹Π±Ρ€Π°Π½ язык, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° языковых конструкций ΠŸΠ›1, Π° ΠΈΡΡ…одная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° готовится Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.pli;

Β· язык ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π сформирован ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Ρ… конструкций ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π Π•Π‘ Π­Π’Πœ, Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΈΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ формируСтся Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.ass;

Β· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ готовится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠžΠ‘ Π•Π‘ Π­Π’Πœ ΠΈ Ρ…ранится Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.tex;

Β· Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π•Π‘ Π­Π’Πœ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹ΠΉ Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠžΠ—Π£ тСхнологичСской Π­Π’Πœ, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π·ΠΎΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для эмулятора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

НСобходимо Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ элСмСнтов ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования Π΄ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ «Π½ΠΎΠ²Ρ‹Π΅» для ΠΌΠ°ΠΊΠ΅Ρ‚Π° конструкции языка высокого уровня, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅:

Π“Π΄Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ имССтся тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π―Π’Π£ PL/I:

EX04: PROC OPTIONS (MAIN);

DCL A DECIMAL FIXED INIT (2);

DCL B DECIMAL FIXED;

DCL P POINTER;

DCL D DECIMAL FIXED BASED (P);

P = ADDR (A);

B = D;

END EX04;

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ строится эквивалСнт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ IBM 370:

EX04START 0

BALR RBASE, 0

USING *, RBASE

LA RRAB, A

ST RRAB, P

LRRAB, D

LRRAB, 0(0,RRAB)

MVN B (3), 0(RRAB)

BCR 15,14

ADC PL3'2C'

BDS PL3

PDS A

DEQU P

RBASE EQU 15

RRABEQU 5

END EX04

Анализ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π―Π’Π£ прСдставлСна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ PL/I, которая выполняСт присваиваниС ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Для этого Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ лСксСмы, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π΅:

Β· DECIMAL — дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π±Π΅Π·

Β· POINTER — пСрСмСнная ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Β· BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — пСрСмСнная, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылаСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания `=' - присваиваниС значСния ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ

Набор Π½ΠΎΠ²Ρ‹Ρ… конструкций языка PL/I

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ конструкций Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π―Π’Π£.

1. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

1.1 Π¦Π΅Π»Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: DCL DECIMAL FIXED; ΠΈΠ»ΠΈ DCL DECIMAL FIXED INIT ();

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€. `234'

Β· ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π€ΠΎΡ€ΠΌΠ°Ρ‚: DCL POINTER;

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: DCL DECIMAL FIXED BASED ();

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ — указатСля

2. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

2.1 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: =

Β· ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для назначСния Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ использован Π² Π»Π΅Π²ΠΎΠΉ части ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°;

2.2 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: = ADDR ();

Β· ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для получСния адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ POINTER;

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ограничСния компилятора Π―Π’Π£

Π’ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π΅ рассмотрСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

Β· Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ†Π΅Π»Ρ‹Π΅ дСсятичными ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

o Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π·Π½Π°ΠΊ числа,

o Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° Π΄Π»ΠΈΠ½Π° мантиссы.

Β· Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅).

Β· ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ По ΡΡ‚ΠΎΠΌΡƒ, для опрСдСлСнности, Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния Π½Π° ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ конструкции компилятора Π―Π’Π£:

Β· ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° Ρ†Π΅Π»Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

o ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ `P' Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

o ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ся ΠΊΠ°ΠΊ Π±Π΅Π· Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅, Ρ‚. Π΅. всСгда ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅;

o ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π»ΠΈΠ½Ρƒ 3 Π±Π°ΠΉΡ‚Π° (мантисса Ρ€Π°Π²Π½Π° 5 (ΠΎΠ΄Π½Π° Ρ‚Π΅Ρ‚Ρ€Π°Π΄Π° Π½Π° Π·Π½Π°ΠΊ)), Ρ‚. Π΅. это числа ΠΎΡ‚ 0 Π΄ΠΎ 99 999;

o Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° Π―Π’Π£ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½ΡƒΠ»Π΅ΠΌ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Β· BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

o Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ дСсятичныС

o Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ своС прСдставлСниС Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, для этого ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ EQU ассСмблСра Π•Π‘ Π­Π’Πœ.

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания кодируСтся Π² 6 Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚ΠΈΠΏΠ° SS (Storage — Storage) языка АссСмблСра. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ присваиваниС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· использования Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСгистров.

Β· Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ `A' Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 4 Π±Π°ΠΉΡ‚Π° (Π΄Π»ΠΈΠ½Ρƒ адрСса Π² Π•Π‘ Π­Π’Πœ).

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ синтаксиса языка

Бинтаксис ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π±Ρ‹Π» Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ:

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ дСкларирования дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π±Π΅Π·

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ дСкларирования ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылаСтся этот ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ получСния адрСса ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° языка ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

1. :=

2. := :PROC_OPTIONS (MAIN);

3. :=

4. := | |

5. := A | B | C | D | E | M | P | X

6. := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

7. := | |

8. := DCL__BIN_FIXED (); |

DCL__BIN_FIXED ()INIT (); |

DCL__DECIMAL_FIXED_INIT (); |

DCL__DECIMAL_FIXED; |

DCL__POINTER; |

DCL__DECIMAL_FIXED_BASED ();

9. :=

10. := |

11. := B

12. := 1 | 0 | 1

13. := =ADDR (); |

=;

14. := | | |

15. := + | ;

16. := END_

Рис. 1 РаспознаваниС грамматичСских ΠΏΡ€Π°Π²ΠΈΠ» Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΉ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄ ассСмблСра Π•Π‘ Π­Π’Πœ БлСдуя Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ограничСниям, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΈΠΉ эквивалСнт Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ компилятора Π―Π’Π£:

1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

1.1. Π¦Π΅Π»Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ PL3'X' Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DC, Π³Π΄Π΅ Π₯ — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. `P' - стандартный Ρ‚ΠΈΠΏ дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ IBM 370. Π›ΠΈΡ‚Π΅Ρ€Π° `L' ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ числа Π² Π±Π°ΠΉΡ‚Π°Ρ…, которая соотвСтствуСт 3 Π±Π°ΠΉΡ‚Π°ΠΌ — фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½ΠΎΠ΅ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΡ… ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρƒ Π―Π’Π£.

1.2. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ A Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DS. Команда DS ассСмблСра IBM 370 выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° 4 Π±Π°ΠΉΡ‚Π° Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.ΠΊ. ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π° Π΄Π»ΠΈΠ½Π° 4 Π±Π°ΠΉΡ‚Π° соотвСтствуСт Π΄Π»ΠΈΠ½Π΅ адрСса Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ IBM 370.

1.3. BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· псСвдокоманду EQU:

<�имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> EQU <�имя указатСля>. Π’.ΠΊ. BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ лишь прСдставлСниСм ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ дСсятичного числа Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ использованиС ассСмблСрной псСвдокоманды EQU, которая Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ, ΠΏΡ€ΠΈ компиляции с Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π° Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ подстановка ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния псСвдокоманды EQU для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

2.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания кодируСтся Π² 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ SS ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ MVN, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

MVN D1(L, B1), D2(B2)

Π³Π΄Π΅:

Β· D1 ΠΈ D2 — смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния;

Β· B1, B2 — рСгистры РОН, содСрТащиС адрСс Π΄Π°Π½Π½Ρ‹Ρ…;

Β· L — Π΄Π»ΠΈΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π² Π±Π°ΠΉΡ‚Π°Ρ… Команда MVN спСциализирована ΠΏΠΎΠ΄ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ числа ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ адрСса памяти Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚Π° SS-ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большСС число Ρ‚Π°ΠΊΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ RX-ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ эквивалСнт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ копирования чисСл.

2.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR кодируСтся Π² Π΄Π²Π΅ 4Π΅Ρ…-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ RX ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: LA ΠΈ ST, Ρ‚.ΠΊ. Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ IBM 370 отсутствуСт ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая Π±Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π»Π° адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ мСсто памяти. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

LA R1, D2(X2, B2)

ST R1, D2(X2, B2)

Π³Π΄Π΅:

Β· R1- рСгистр РОН;

Β· D2 — смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния;

Β· X2 -рСгистр РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса;

Β· B2 — рСгистр РОН, содСрТащиС адрСс Π΄Π°Π½Π½Ρ‹Ρ…;

Команда LA Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ — рСгистр. А ΠΊΠΎΠΌΠ°Π½Π΄Π° ST заносит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° — рСгистра Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сначала считываСтся адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€, Π° Π·Π°Ρ‚Π΅ΠΌ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ заносится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

2.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания — `='. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, располоТСнныС ΠΏΠΎ ΠΏΡ€Π°Π²ΡƒΡŽ сторону ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ°:

2.3.1. Для BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π² Π΄Π²Π° этапа: 1) Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° значСния указатСля Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ L; 2) Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, располоТСнной ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ адрСсу с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ L.

2.3.2. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΈΠ΄Π΅Ρ‚ присвоСниС ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‚ΠΎ ΡΠ½Π°Ρ‡Π°Π»Π° ΠΈΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L, Π° Π·Π°Ρ‚Π΅ΠΌ происходит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ MVN, описанной Ρ€Π°Π½Π΅Π΅.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΉ (SINT) Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ увСличился с 201 Π΄ΠΎ 263 элСмСнтов. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° смСТности, ΠΏΡ€ΠΈ этом, Π½Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ.

Π‘Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π² ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΡƒ языка:

Β· для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… дСсятичныС числа, Π±Ρ‹Π» Π²Π²Π΅Π΄Π΅Π½ Ρ‚ΠΈΠΏ `D'

Β· для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ — Ρ‚ΠΈΠΏ `A'

Β· для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° BASED — Ρ‚ΠΈΠΏ `V'

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Ѐункция дСкларирования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… — ODC1 Π±Ρ‹Π»Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ΡΠΎΠΎΡ‚вСтствии с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ арифмСтичСским ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ OPA2, провСряСтся, являСтся Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ присваивания ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR, ΠΈ, Ссли Π΄Π°, Ρ‚ΠΎ Ρ„ормируСтся ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΌΠ°Π½Π΄ LA ΠΈ ST.

Если ΠΆΠ΅ Π·Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΡ€Π΅Π°Ρ‚ΠΎΡ€ΠΎΠΌ присвоСния стоит дСсятичная пСрСмСнная, Ρ‚ΠΎ Ρ„ормируСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° MVN, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ рСгистр RRAB содСрТащий адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ AVI2 (Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅) ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ — BASED, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Π²Π΅ ассСмблСрныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ L: пСрвая Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-указатСля Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ RRAB, вторая Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, располоТСнной ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ L Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ RRAB.

Если ΠΆΠ΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ AVI2 встрСчаСтся дСсятичная пСрСмСнная, Ρ‚ΠΎ Ρ„ормируСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° L, которая Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ RRAB.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ компилятор Π―Π’Π£, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΆΠ΅ пСрСчислСнныС приСмущСства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ. НСсмотря Π½Π° Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ, новая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚Ρ‚ΡŒ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

ΠŸΠ»ΡŽΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· ИспользованиС встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ассСмблСра для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‡ΠΈΡΠ»Π°ΠΌΠΈ ΠΈ Π°Π΄Ρ€Π΅ΡΠ°ΠΌΠΈ;

Β· BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ прСдставлСниС Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎ позволяСт Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΏΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ эквивалСнту;

Β· НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΌΡΡ‚ΡŒ для BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;

ΠœΠΈΠ½ΡƒΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· Волько Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ дСсятичныС числа;

Β· Ѐиксированная мантиса дСсятичных чисСл;

Β· ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ дСсятичными числами;

Β· Π’Ρ‹Ρ…ΠΎΠ΄ΠΎΠΉ Ρ„Π°ΠΉΠ» совмСстим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠΌ Π­Π’Πœ IBM 370;

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° компилятора ассСмблСра ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ практичСских Π½Π°Π²Ρ‹ΠΊΠΎΠ² построСния компилятора с ΡΠ·Ρ‹ΠΊΠ° высокого уровня (Π―Π’Π£), ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² систСмы программирования, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСхнологичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€:

ΠŸΡ€ΠΈ этом прСдполагаСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ данная систСма программирования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ‚СхнологичСской Π­Π’Πœ (IBM PC) ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ кросс-систСмой для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ (Π•Π‘ Π­Π’Πœ). Π’ ΡΡ‚ΠΎΠΉ систСмС:

Β· Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка высокого уровня (Π―Π’Π£) Π²Ρ‹Π±Ρ€Π°Π½ язык, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° языковых конструкций ΠŸΠ›1, Π° ΠΈΡΡ…одная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° готовится Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.pli;

Β· язык ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π сформирован ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Ρ… конструкций ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π Π•Π‘ Π­Π’Πœ, Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΈΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ формируСтся Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.ass;

Β· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ готовится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠžΠ‘ Π•Π‘ Π­Π’Πœ ΠΈ Ρ…ранится Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.tex;

Β· Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π•Π‘ Π­Π’Πœ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹ΠΉ Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠžΠ—Π£ тСхнологичСской Π­Π’Πœ, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π·ΠΎΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для эмулятора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

НСобходимо Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ элСмСнтов ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования Π΄ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ «Π½ΠΎΠ²Ρ‹Π΅» для ΠΌΠ°ΠΊΠ΅Ρ‚Π° конструкции языка высокого уровня, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅:

Π“Π΄Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ имССтся исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ Π­Π’Πœ IBM 370:

EX04START 0

BALR RBASE, 0

USING *, RBASE

LA RRAB, A

ST RRAB, P

LRRAB, D

LRRAB, 0(0,RRAB)

MVN B (3), 0(RRAB)

BCR 15,14

ADC PL3'2C'

BDS PL3

PDS A

DEQU P

RBASE EQU 15

RRABEQU 5

END EX04

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° для IBM 370:

Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 02 45 53 44 40 40 40 40 40 40 00 10 40 40 00 01 ESD@@@@@@ @@

10 45 58 30 34 40 40 40 40 00 00 00 00 40 00 00 28 EX04@@@@ @ (

20 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

40 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

50 02 54 58 54 40 00 00 00 40 40 00 02 40 40 00 01 TXT@ @@ @@

60 05 F0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 Ρ€@@@@@@@@@@@@@@

70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

80 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

90 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

00A0 02 54 58 54 40 00 00 02 40 40 00 04 40 40 00 01 TXT@ @@ @@

00B0 41 50 F0 1A 40 40 40 40 40 40 40 40 40 40 40 40 APΡ€ @@@@@@@@@@@@

00C0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

00D0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

00E0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

00F0 02 54 58 54 40 00 00 06 40 40 00 04 40 40 00 01 TXT@ @@ @@

100 50 50 F0 22 40 40 40 40 40 40 40 40 40 40 40 40 PPΡ€" @@@@@@@@@@@@

110 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

120 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

130 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

140 02 54 58 54 40 00 00 0A 40 40 00 04 40 40 00 01 TXT@ @@ @@

150 58 50 F0 22 40 40 40 40 40 40 40 40 40 40 40 40 XPΡ€" @@@@@@@@@@@@

160 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

170 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

180 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

190 02 54 58 54 40 00 00 0E 40 40 00 04 40 40 00 01 TXT@ @@ @@

01A0 58 50 50 00 40 40 40 40 40 40 40 40 40 40 40 40 XPP @@@@@@@@@@@@

01B0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

01C0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

01D0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

01E0 02 54 58 54 40 00 00 12 40 40 00 06 40 40 00 01 TXT@ @@ @@

01F0 D1 03 F0 1E 50 00 40 40 40 40 40 40 40 40 40 40 Π‘ Ρ€ P @@@@@@@@@@

200 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

210 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

220 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

230 02 54 58 54 40 00 00 18 40 40 00 02 40 40 00 01 TXT@ @@ @@

240 07 FE 40 40 50 00 40 40 40 40 40 40 40 40 40 40 ю@@P @@@@@@@@@@

250 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

260 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

270 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

280 02 54 58 54 40 00 00 1C 40 40 00 04 40 40 00 01 TXT@ @@ @@

290 00 00 00 2C 50 00 40 40 40 40 40 40 40 40 40 40, P @@@@@@@@@@

02A0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

02B0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

02C0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

02D0 02 54 58 54 40 00 00 20 40 40 00 04 40 40 00 01 TXT@ @@ @@

02E0 00 00 00 0C 50 00 40 40 40 40 40 40 40 40 40 40P @@@@@@@@@@

02F0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

300 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

310 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

320 02 54 58 54 40 00 00 24 40 40 00 04 40 40 00 01 TXT@ $@@ @@

330 00 00 00 00 50 00 40 40 40 40 40 40 40 40 40 40P @@@@@@@@@@

340 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

350 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

360 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

370 02 45 4E 44 40 40 40 40 40 40 40 40 40 40 40 40 END@@@@@@@@@@@@

380 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

390 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

03A0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

03B0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

3. Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ, Эмулятор, ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ

Анализ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ появились Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ассСмблСра, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ компилятора. Π­Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: LA, MVN, DC PL3'X', DS PL3, DS A, EQU.

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄

3. Команда LA. Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€. Π˜ΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

LA R1, D2(X2, B2)

ST R1, D2(X2, B2)

Π³Π΄Π΅:

Β· R1- рСгистр РОН;

Β· D2 — смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния;

Β· X2 -рСгистр РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса;

Β· B2 — рСгистр РОН, содСрТащиС адрСс Π΄Π°Π½Π½Ρ‹Ρ…;

Β· ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ — адрСсат, Π²Ρ‚ΠΎΡ€ΠΎΠΉ — источник;

Π”Π»ΠΈΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ составляСт 4 Π±Π°ΠΉΡ‚Π°. Π’ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ — RX.

4. Команда MVN. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ числа ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ адрСса памяти Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

MVN D1(L, B1), D2(B2)

Π³Π΄Π΅:

Β· D1 ΠΈ D2 — смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния;

Β· B1, B2 — рСгистры РОН, содСрТащиС адрСс Π΄Π°Π½Π½Ρ‹Ρ…;

Β· L — Π΄Π»ΠΈΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π² Π±Π°ΠΉΡ‚Π°Ρ… Команда Ρ‚ΠΈΠΏΠ° SS, ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ 6 Π±Π°ΠΉΡ‚.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ дСкларирования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

4.1. Команда DC Ρ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ PL3'X' ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†Π΅Π»Ρ‹Ρ… дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ Π₯ — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. `P' - стандартный Ρ‚ΠΈΠΏ дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ IBM 370. Π›ΠΈΡ‚Π΅Ρ€Π° `L' ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ числа Π² Π±Π°ΠΉΡ‚Π°Ρ…, которая соотвСтствуСт 3 Π±Π°ΠΉΡ‚Π°ΠΌ — фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½ΠΎΠ΅ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΡ… ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρƒ Π―Π’Π£.

4.2. Команда DS с ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ PL3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния Ρ†Π΅Π»Ρ‹Ρ… дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. `P' - стандартный Ρ‚ΠΈΠΏ дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ IBM 370. Π›ΠΈΡ‚Π΅Ρ€Π° `L' ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ числа Π² Π±Π°ΠΉΡ‚Π°Ρ…, которая соотвСтствуСт 3 Π±Π°ΠΉΡ‚Π°ΠΌ — фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½ΠΎΠ΅ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΡ… ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρƒ Π―Π’Π£.

4.3. Команда DS с ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ A ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для рСзСрвирования памяти ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. ВыдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° 4 Π±Π°ΠΉΡ‚Π° Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.ΠΊ. ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π° Π΄Π»ΠΈΠ½Π° 4 Π±Π°ΠΉΡ‚Π° соотвСтствуСт Π΄Π»ΠΈΠ½Π΅ адрСса Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ IBM 370.

4.4. Команда EQU, Π³Π΄Π΅ ΠΏΡ€Π°Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ — это ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ пСрСмСнная, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для подстановки ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° вмСсто Π»Π΅Π²ΠΎΠ³ΠΎ.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ компилятора ассСмблСра

Бписок ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ компилятора ассСмблСра:

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3Π΅Ρ…-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° `P';

Β· Команда EQU Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° выраТСния;

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠΌΠ°Π½Π΄;

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄

Рассмотрим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

1. Команда LA:

Β· ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 4 Π±Π°ΠΉΡ‚Π°

Β· Ρ‚ΠΈΠΏ RX

Β· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

Π³Π΄Π΅

Β· 0×41 — ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Β· R1 содСрТит Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ записан Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Β· X2 содСрТит Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса

Β· B2 содСрТит Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ для хранСния адрСса Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, содСрТащСго Π΄Π°Π½Π½Ρ‹Π΅

Β· D2 прСдставляСт смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

2. Команда MVN:

Β· ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 6 Π±Π°ΠΉΡ‚

Β· Ρ‚ΠΈΠΏ SS (StorageStorage)

Β· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

Π³Π΄Π΅:

Β· 0xD1 — ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Β· B1, B2 содСрТат Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ для хранСния адрСса Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, содСрТащСго Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² соотвСтствСнно

Β· D1, D2 прСдставляСт смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² соотвСтствСнно

3. ПсСвдокоманда DC с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ PL3:

Β· ΠžΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π»ΡƒΡŽ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π΄Π»ΠΈΠ½Π½ΠΎΠΉ 3 Π±Π°ΠΉΡ‚Π°

4. ПсСвдокоманда DS с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ PL3:

Β· ΠžΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Ρ†Π΅Π»ΡƒΡŽ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π΄Π»ΠΈΠ½Π½ΠΎΠΉ 3 Π±Π°ΠΉΡ‚Π°

5. ПсСвдокоманда DS с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ A:

Β· Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚ 4 Π±Π°ΠΉΡ‚Π° памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ для запоминания адрСса Π΄Π°Π½Π½Ρ‹Ρ…

6. ПсСвдокоманда EQU с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ — ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

Β· АссоциируСт ΠΌΠ΅Ρ‚ΠΊΡƒ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (TMOP) Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ LA ΠΈ MVN.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° структура Π±ΡƒΡ„Π΅Ρ€Π° 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚ Π±Ρ‹Π»ΠΈ внСсСны ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Основная модификация ΠΊΠΎΡΠ½ΡƒΠ»Π°ΡΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΈ измСнСния повлияли Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ. Из-Π·Π° сдвига адрСса Π½Π° 6 Π±Π°ΠΉΡ‚, Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ Π½Π΅ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹ΠΌΠΈ. По ΡΡ‚ΠΎΠΌΡƒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ внСсти Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ FDC Π±Ρ‹Π»ΠΈ внСсСны измСнСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ объявлСниС дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° `P', Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ FDS — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° `A'.

Ѐункция FEQU ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ подставляСмого значСния, Π½ΠΎ ΡΠ»ΠΎΠ².

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° формирования TXT ΠΊΠ°Ρ€Ρ‚Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FSS ΠΈ SSS для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡˆΠ΅ΡΡ‚ΠΈΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ компилятор с Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, нСсмотря Π½Π° Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΊΠΈ, описанныС Π²Ρ‹ΡˆΠ΅.

ΠŸΠ»ΡŽΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования псСвдокоманды EQU для подстановки любого слова вмСсто ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ;

Β· Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ адрСса;

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄;

ΠœΠΈΠ½ΡƒΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3Π΅Ρ…-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° `P';

Β· Команда EQU Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° выраТСния;

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠΌΠ°Π½Π΄;

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ компилятора с ΡΠ·Ρ‹ΠΊΠ° высокого уровня (Π―Π’Π£), ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² систСмы программирования, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСхнологичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€:

ΠŸΡ€ΠΈ этом прСдполагаСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ данная систСма программирования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ‚СхнологичСской Π­Π’Πœ (IBM PC) ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ кросс-систСмой для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ (Π•Π‘ Π­Π’Πœ). Π’ ΡΡ‚ΠΎΠΉ систСмС:

Β· Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка высокого уровня (Π―Π’Π£) Π²Ρ‹Π±Ρ€Π°Π½ язык, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° языковых конструкций ΠŸΠ›1, Π° ΠΈΡΡ…одная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° готовится Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.pli;

Β· язык ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π сформирован ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Ρ… конструкций ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π Π•Π‘ Π­Π’Πœ, Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΈΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ формируСтся Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.ass;

Β· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ готовится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠžΠ‘ Π•Π‘ Π­Π’Πœ ΠΈ Ρ…ранится Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.tex;

Β· Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π•Π‘ Π­Π’Πœ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹ΠΉ Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠžΠ—Π£ тСхнологичСской Π­Π’Πœ, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π·ΠΎΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для эмулятора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

НСобходимо Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ элСмСнтов ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования Π΄ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ «Π½ΠΎΠ²Ρ‹Π΅» для ΠΌΠ°ΠΊΠ΅Ρ‚Π° конструкции языка высокого уровня, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅:

Π“Π΄Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ исходный тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π­Π’Πœ IBM 370:

Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 02 45 53 44 40 40 40 40 40 40 00 10 40 40 00 01 ESD@@@@@@ @@

10 45 58 30 34 40 40 40 40 00 00 00 00 40 00 00 28 EX04@@@@ @ (

20 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

30 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

40 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

50 02 54 58 54 40 00 00 00 40 40 00 02 40 40 00 01 TXT@ @@ @@

60 05 F0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 Ρ€@@@@@@@@@@@@@@

70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

80 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

90 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

00A0 02 54 58 54 40 00 00 02 40 40 00 04 40 40 00 01 TXT@ @@ @@

00B0 41 50 F0 1A 40 40 40 40 40 40 40 40 40 40 40 40 APΡ€ @@@@@@@@@@@@

00C0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

00D0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

00E0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

00F0 02 54 58 54 40 00 00 06 40 40 00 04 40 40 00 01 TXT@ @@ @@

100 50 50 F0 22 40 40 40 40 40 40 40 40 40 40 40 40 PPΡ€" @@@@@@@@@@@@

110 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

120 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

130 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

140 02 54 58 54 40 00 00 0A 40 40 00 04 40 40 00 01 TXT@ @@ @@

150 58 50 F0 22 40 40 40 40 40 40 40 40 40 40 40 40 XPΡ€" @@@@@@@@@@@@

160 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

170 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

180 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

190 02 54 58 54 40 00 00 0E 40 40 00 04 40 40 00 01 TXT@ @@ @@

01A0 58 50 50 00 40 40 40 40 40 40 40 40 40 40 40 40 XPP @@@@@@@@@@@@

01B0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

01C0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

01D0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

01E0 02 54 58 54 40 00 00 12 40 40 00 06 40 40 00 01 TXT@ @@ @@

01F0 D1 03 F0 1E 50 00 40 40 40 40 40 40 40 40 40 40 Π‘ Ρ€ P @@@@@@@@@@

200 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

210 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

220 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

230 02 54 58 54 40 00 00 18 40 40 00 02 40 40 00 01 TXT@ @@ @@

240 07 FE 40 40 50 00 40 40 40 40 40 40 40 40 40 40 ю@@P @@@@@@@@@@

250 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

260 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

270 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

280 02 54 58 54 40 00 00 1C 40 40 00 04 40 40 00 01 TXT@ @@ @@

290 00 00 00 2C 50 00 40 40 40 40 40 40 40 40 40 40, P @@@@@@@@@@

02A0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

02B0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

02C0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

02D0 02 54 58 54 40 00 00 20 40 40 00 04 40 40 00 01 TXT@ @@ @@

02E0 00 00 00 0C 50 00 40 40 40 40 40 40 40 40 40 40P @@@@@@@@@@

02F0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

300 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

310 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

320 02 54 58 54 40 00 00 24 40 40 00 04 40 40 00 01 TXT@ $@@ @@

330 00 00 00 00 50 00 40 40 40 40 40 40 40 40 40 40P @@@@@@@@@@

340 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

350 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

360 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

370 02 45 4E 44 40 40 40 40 40 40 40 40 40 40 40 40 END@@@@@@@@@@@@

380 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

390 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

03A0 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 @@@@@@@@@@@@@@@@

03B0 40 40 40 40 40 40 40 40 45 58 30 34 40 40 40 40 @@@@@@@@EX04@@@@

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ рСгистров ΠΈ ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Рис. 2 Π’Ρ‹Π²ΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°

компилятор ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ассСмблСр

Анализ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ появились Π΄Π²Π΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, нСизвСстныС для Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°, это ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ LA Ρ ΠΊΠΎΠ΄ΠΎΠΌ 0×41 ΠΈ MVN с ΠΊΠΎΠ΄ΠΎΠΌ 0xD1. Рассмотрим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° этих ΠΊΠΎΠΌΠ°Π½Π΄:

1. Команда LA:

Β· ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 4 Π±Π°ΠΉΡ‚Π°

Β· Ρ‚ΠΈΠΏ RX

Β· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

Π³Π΄Π΅

Β· 0×41 — ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Β· R1 содСрТит Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ записан Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Β· X2 содСрТит Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса

Β· B2 содСрТит Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ для хранСния адрСса Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, содСрТащСго Π΄Π°Π½Π½Ρ‹Π΅

Β· D2 прСдставляСт смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

2. Команда MVN:

Β· ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 6 Π±Π°ΠΉΡ‚

Β· Ρ‚ΠΈΠΏ SS (StorageStorage)

Β· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

Π³Π΄Π΅:

Β· 0xD1 — ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Β· B1, B2 содСрТат Π½ΠΎΠΌΠ΅Ρ€ рСгистра РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎΡΡ для хранСния адрСса Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ, содСрТащСго Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² соотвСтствСнно

Β· D1, D2 прСдставляСт смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² соотвСтствСнно ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ исходный Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ

Β· Эмулятор ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ MVN ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π»ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3 Π±Π°ΠΉΡ‚Π°;

Β· ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ TXT-ΠΊΠ°Ρ€Ρ‚. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅. Π’. Π΅. Π½Π° TXT-ΠΊΠ°Ρ€Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»ΠΈΠ½ΠΎΠΉ 2, 4 ΠΈΠ»ΠΈ 6 Π±Π°ΠΉΡ‚;

Β· Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ;

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ максимальной Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 50 ΠΊΠ°Ρ€Ρ‚;

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (TMOP) Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ LA ΠΈ MVN.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ ΡΠΌΡƒΠ»ΡΡ‚ΠΎΡ€ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСмантики ΠΊΠΎΠΌΠ°Π½Π΄ LA ΠΈ MVN.

Π’ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 2ΡƒΡ… ΠΈ 4Π΅Ρ…-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, которая позволяСт ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

ΠŸΠ»ΡŽΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄: LA ΠΈ MVN;

Β· Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;

ΠœΠΈΠ½ΡƒΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· Эмулятор для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ MVN ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π»ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3 Π±Π°ΠΉΡ‚Π°;

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° TXT-ΠΊΠ°Ρ€Ρ‚Π΅;

Β· Π—Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ;

Β· ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ максимальной Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 50 ΠΊΠ°Ρ€Ρ‚;

4. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ с ΡΠ·Ρ‹ΠΊΠ° высокого уровня с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Flex ΠΈ Bison

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ компилятора с ΡΠ·Ρ‹ΠΊΠ° высокого уровня (Π―Π’Π£), ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² систСмы программирования, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΡ… Π² ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСхнологичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€:

ΠŸΡ€ΠΈ этом прСдполагаСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ данная систСма программирования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Ρ‚СхнологичСской Π­Π’Πœ (IBM PC) ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ кросс-систСмой для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ (Π•Π‘ Π­Π’Πœ). Π’ ΡΡ‚ΠΎΠΉ систСмС:

Β· Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка высокого уровня (Π―Π’Π£) Π²Ρ‹Π±Ρ€Π°Π½ язык, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π° языковых конструкций ΠŸΠ›1, Π° ΠΈΡΡ…одная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° готовится Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.pli;

Β· язык ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π сформирован ΠΈΠ· ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Ρ… конструкций ΠΠ‘Π‘Π•ΠœΠ‘Π›Π•Π Π Π•Π‘ Π­Π’Πœ, Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΈΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ формируСтся Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.ass;

Β· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ готовится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠžΠ‘ Π•Π‘ Π­Π’Πœ ΠΈ Ρ…ранится Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° тСхнологичСской Π­Π’Πœ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.tex;

Β· Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ эквивалСнт исходной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π•Π‘ Π­Π’Πœ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹ΠΉ Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ ΠžΠ—Π£ тСхнологичСской Π­Π’Πœ, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Π·ΠΎΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для эмулятора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π­Π’Πœ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

НСобходимо Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ элСмСнтов ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ систСмы программирования Π΄ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ «Π½ΠΎΠ²Ρ‹Π΅» для ΠΌΠ°ΠΊΠ΅Ρ‚Π° конструкции языка высокого уровня, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅:

Π“Π΄Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ имССтся тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π―Π’Π£ PL/I:

EX04: PROC OPTIONS (MAIN);

DCL A DECIMAL FIXED INIT (2);

DCL B DECIMAL FIXED;

DCL P POINTER;

DCL D DECIMAL FIXED BASED (P);

P = ADDR (A);

B = D;

END EX04;

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ строится эквивалСнт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ IBM 370:

ex04START 0Programm start

BALR RBASE, 0Base initialization

USING *, RBASEBase declaration

LA RRAB, A Load address

ST RRAB, P Store address

LRRAB, D Variable value loading

LRRAB, 0(0,RRAB) Load by address

MVN B (3), 0(RRAB) Move numveric

BCR 15, RVIXReturn from programm

RBASE EQU 5

RVIXEQU 14

RRABEQU 3

ADC PL3'2C'Variable declaration with initialization

BDS PL3 Variable declaration without initialization

PDS AVariable declaration without initialization

DEQU P

END Programm end

Анализ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ

Π’ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π―Π’Π£ прСдставлСна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ PL/I, которая выполняСт присваиваниС ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Для этого Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ лСксСмы, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π΅:

Β· DECIMAL — дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π±Π΅Π·

Β· POINTER — пСрСмСнная ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Β· BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — пСрСмСнная, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылаСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания `=' - присваиваниС значСния ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ

Набор Π½ΠΎΠ²Ρ‹Ρ… конструкций языка PL/I

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ конструкций Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π―Π’Π£.

3. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

3.1 Π¦Π΅Π»Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: DCL DECIMAL FIXED; ΠΈΠ»ΠΈ DCL DECIMAL FIXED INIT ();

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€. `234'

Β· ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ

3.2 Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: DCL POINTER;

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

3.3 BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: DCL DECIMAL FIXED BASED ();

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· - имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ — указатСля

4. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

4.1 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: =

Β· ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для назначСния Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ использован Π² Π»Π΅Π²ΠΎΠΉ части ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°;

4.2 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR:

Π€ΠΎΡ€ΠΌΠ°Ρ‚: = ADDR ();

Β· ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для получСния адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ…. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ POINTER;

Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ограничСния компилятора Π―Π’Π£

Π’ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹:

Β· Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ†Π΅Π»Ρ‹Π΅ дСсятичными ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

o Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π·Π½Π°ΠΊ числа,

o Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° Π΄Π»ΠΈΠ½Π° мантиссы.

Β· Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅).

Β· ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ По ΡΡ‚ΠΎΠΌΡƒ, для опрСдСлСнности, Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ограничСния Π½Π° ΡΠ·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ конструкции компилятора Π―Π’Π£:

Β· ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° Ρ†Π΅Π»Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

o ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ `P' Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

o ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ся ΠΊΠ°ΠΊ Π±Π΅Π· Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅, Ρ‚. Π΅. всСгда ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅;

o ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π»ΠΈΠ½Ρƒ 3 Π±Π°ΠΉΡ‚Π° (мантисса Ρ€Π°Π²Π½Π° 5), Ρ‚. Π΅. это числа ΠΎΡ‚ 0 Π΄ΠΎ 99 999;

o Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° Π―Π’Π£ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½ΡƒΠ»Π΅ΠΌ Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Β· BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

o Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ дСсятичныС

o Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ своС прСдставлСниС Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, для этого ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ EQU ассСмблСра Π•Π‘ Π­Π’Πœ.

Β· ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания кодируСтся Π² 6 Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚ΠΈΠΏΠ° SS (Storage — Storage) языка АссСмблСра. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ присваиваниС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±Π΅Π· использования Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСгистров.

Β· Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ `A' Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠ²ΡΠΊΠΎΠΌ эквивалСнтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ 4 Π±Π°ΠΉΡ‚Π° (Π΄Π»ΠΈΠ½Ρƒ адрСса Π² Π•Π‘ Π­Π’Πœ).

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ синтаксиса языка

Бинтаксис ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π° Π±Ρ‹Π» Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ дСкларирования дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π±Π΅Π·

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ дСкларирования ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ссылаСтся этот ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ получСния адрСса ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Β· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΠ° языка ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

1. :=

2. := :PROC_OPTIONS (MAIN);

3. :=

4. := | |

5. := A | B | C | D | E | M | P | X

6. := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

7. := | |

8. := DCL__BIN_FIXED (); |

DCL__BIN_FIXED ()INIT (); |

DCL__DECIMAL_FIXED_INIT (); |

DCL__DECIMAL_FIXED; |

DCL__POINTER; |

DCL__DECIMAL_FIXED_BASED ();

9. :=

10. := |

11. := B

12. := 1 | 0 | 1

13. := =ADDR (); |

=;

14. := | | |

15. := + | ;

16. := END_

Рис. 3 РаспознаваниС грамматичСских ΠΏΡ€Π°Π²ΠΈΠ» Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΉ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄ ассСмблСра Π•Π‘ Π­Π’Πœ

БлСдуя Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ ограничСниям, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ассСмблСровский эквивалСнт Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ компилятора Π―Π’Π£:

5. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

5.1. Π¦Π΅Π»Ρ‹Π΅ дСсятичныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ PL3'X' Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DC, Π³Π΄Π΅ Π₯ — Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. `P' - стандартный Ρ‚ΠΈΠΏ дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ IBM 370. Π›ΠΈΡ‚Π΅Ρ€Π° `L' ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ числа Π² Π±Π°ΠΉΡ‚Π°Ρ…, которая соотвСтствуСт 3 Π±Π°ΠΉΡ‚Π°ΠΌ — фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅Π½Π½ΠΎΠ΅ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΡ… ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρƒ Π―Π’Π£.

5.2. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ A Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DS. Команда DS ассСмблСра IBM 370 выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π° 4 Π±Π°ΠΉΡ‚Π° Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.ΠΊ. ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π° Π΄Π»ΠΈΠ½Π° 4 Π±Π°ΠΉΡ‚Π° соотвСтствуСт Π΄Π»ΠΈΠ½Π΅ адрСса Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ IBM 370.

5.3. BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· псСвдокоманду EQU:

<�имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> EQU <�имя указатСля>. Π’.ΠΊ. BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ лишь прСдставлСниСм ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ дСсятичного числа Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ использованиС ассСмблСрной псСвдокоманды EQU, которая Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ, ΠΏΡ€ΠΈ компиляции с Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π° Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ подстановка ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния псСвдокоманды EQU для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

6. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹:

6.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания кодируСтся Π² 6Ρ‚ΠΈ-Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ SS ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ MVN, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

MVN D1(L, B1), D2(B2)

Π³Π΄Π΅:

Β· D1 ΠΈ D2 — смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния;

Β· B1, B2 — рСгистры РОН, содСрТащиС адрСс Π΄Π°Π½Π½Ρ‹Ρ…;

Β· L — Π΄Π»ΠΈΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Π² Π±Π°ΠΉΡ‚Π°Ρ… Команда MVN спСциализирована ΠΏΠΎΠ΄ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ числа ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ адрСса памяти Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚Π° SS-ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большСС число Ρ‚Π°ΠΊΡ‚ΠΎΠ², Ρ‡Π΅ΠΌ RX-ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ эквивалСнт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ копирования чисСл.

6.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ADDR кодируСтся Π² Π΄Π²Π΅ 4Π΅Ρ…-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ RX ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: LA ΠΈ ST, Ρ‚.ΠΊ. Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π΅ IBM 370 отсутствуСт ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая Π±Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π»Π° адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ мСсто памяти. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

LA R1, D2(X2, B2)

ST R1, D2(X2, B2)

Π³Π΄Π΅:

Β· R1- рСгистр РОН;

Β· D2 — смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ адрСса, содСрТащСгося Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния;

Β· X2 -рСгистр РОН, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ индСкса;

Β· B2 — рСгистр РОН, содСрТащиС адрСс Π΄Π°Π½Π½Ρ‹Ρ…;

Команда LA Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ — рСгистр. А ΠΊΠΎΠΌΠ°Π½Π΄Π° ST заносит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° — рСгистра Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сначала считываСтся адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ°ΠΌΡΡ‚ΠΈ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€, Π° Π·Π°Ρ‚Π΅ΠΌ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ заносится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ.

6.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания — `='. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, располоТСнныС ΠΏΠΎ ΠΏΡ€Π°Π²ΡƒΡŽ сторону ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ°:

6.3.1. Для BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π² Π΄Π²Π° этапа: 1) Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° значСния указатСля Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ L; 2) Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, располоТСнной ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ адрСсу с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ L.

6.3.2. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΈΠ΄Π΅Ρ‚ присвоСниС ΠΎΠ΄Π½ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‚ΠΎ ΡΠ½Π°Ρ‡Π°Π»Π° ΠΈΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠΉ дСсятичной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ L, Π° Π·Π°Ρ‚Π΅ΠΌ происходит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ MVN, описанной Ρ€Π°Π½Π΅Π΅.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π’ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для flex Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π°Π·Π±ΠΎΡ€ Π½ΠΎΠ²Ρ‹Ρ… лСксСм BASED, DECIMAL, ADDR ΠΈ POINTER. Π­Ρ‚ΠΈ ΠΆΠ΅ лСксСмы Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Π½Π°Π±ΠΎΡ€ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² для bison.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° исходного ΠΌΠ°ΠΊΠ΅Ρ‚Π°

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» для bison.

Π‘Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ дСкларирования дСсятичных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΡƒΠ°ΠΊΠ·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция poi, которая ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ лСксСму ADDR. Π­Ρ‚Π° функция Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π²Π΅ ассСмблСрныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ — LA ΠΈ ST.

Ѐункция opa ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присвоСния замСнялся Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ MVN, Ссли ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ являСтся дСсятичноС число.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ avi_ipe Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ подстановки вмСсто слова, объявлСнного псСвдокомандой EQU, ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ компилятор Π―Π’Π£, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.

ΠŸΠ»ΡŽΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· использованиС встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ассСмблСра для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‡ΠΈΡΠ»Π°ΠΌΠΈ ΠΈ Π°Π΄Ρ€Π΅ΡΠ°ΠΌΠΈ;

Β· BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ прСдставлСниС Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎ позволяСт Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΏΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ эквивалСнту;

Β· Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся ΠΏΠ°ΠΌΡΡ‚ΡŒ для BASED-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;

ΠœΠΈΠ½ΡƒΡΡ‹ Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

Β· Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ дСсятичныС числа;

Β· фиксированная мантиса дСсятичных чисСл;

Β· отсутствиС арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ дСсятичными числами;

Β· Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΉ Ρ„Π°ΠΉΠ» совмСстим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€ΠΎΠΌ Π­Π’Πœ IBM 370;

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства Flex ΠΈ Bison Π½Π°Π΄ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ компилятора Π―Π’Π£:

Β· отсутствиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ

Β· отсутствиС стСка Ρ†Π΅Π»Π΅ΠΉ ΠΈ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΠΉ

Β· отсутствиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ смСТности ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ связности

Β· отсутствиС 2ΡƒΡ… ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Β· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сразу лСксичСским ΠΈ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ичСским Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Π° Π½Π΅ ΠΏΠΎΡΡ‚Π°ΠΏΠ½ΠΎ — сначала лСксичСским, Π·Π°Ρ‚Π΅ΠΌ синтаксичСским ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ сСмантичСским ВсС эти прСимущСства ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ язык, Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΠ² Ρ€Π°Π·Π±ΠΎΡ€Ρƒ ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ».

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ