πŸ“‚ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚: lang-basic-CPM80-004_clean.html


Β 

Basic CP/M-80 ΠΎΡ‚ Orion Soft 1996 Π³. ΠžΡ€ΠΈΠΎΠ½-128,  основы программирования, ΡƒΡ€ΠΎΠΊΠΈ языка

Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ языком Basic V2.0 Π² ΠžΡ€ΠΈΠΎΠ½-128 ΠΈ ΠžΡ€ΠΈΠΎΠ½-ПРО.

01.04.2023 ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π•:01.11.96 (Π‘) 1996Π³. ΠžΡ€ΠΈΠΎΠ½ΡΠΎΡ„Ρ‚

Π‘Π•Π™Π‘Π˜ΠšΒ  страница 5

ΠžΠ±Ρ€Π°Π·Ρ‹ диска ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ CP/M-80 V3.61, Β V3.62, V3.63 ΠΈ Π²Ρ‹ΡˆΠ΅

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· диска для Π“ΠΎΡ‚Π΅ΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ *.hfe

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ *.odi

Π­Ρ‚ΠΎ описаниС BAS5.TXT ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ

20 DIM DB%(DBL%)
30 FOR I%==0 TO DBL%
40 DB%(I%)=INT(RND(1)*100)
50 NEXT
60 GOSUB 200 'DRUCK DER AUSGANGSDATENFOLGE
70 REM SORTIERUNG AM PLATZ
80 DBH%=DBL%
90 FLAG%=1
100 WWHILE FLAG%
110 FOR I%=DBH%-1 TO 0 STEP -1
120 IF DB%(I%) > DB%(DBH%) THEN SWAP DB%(I%), DB%(DBH%)
130 NEXT
140 DBH%=DBH%-1
150 IF DBH%=0 THEN FLAG%=0
160 WEND
170 PRINT
180 GOSUB 200 'DRUCK DER SORTIERFOLGE
190 END
200 REM UNTERPROGRAMM
210 FOR I%=0 TO DBL%
220 PRINT DB%(I%);
230 NEXT
240 RETURN
RUN
24 30 31 51 5 78 49 36 98 90
5 24 30 31 36 49 51 78 90 98
OK

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅:
Для компилятора языка БСйсик допускаСтся статичСскоС Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ² WHILE-WEND, Ρ‚.ΠΊ. ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ WHILE Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ WEND.

11. БСзусловныС ΠΈ условныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ развСтвлСния Π² языкС БСйсик.
11.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GOTO для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² (бСзусловныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹)

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° GOTO ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния строк ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: GOTO <Π½ΠΎΠΌΠ΅Ρ€ строки>
послС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° GOTO ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° продолТаСтся со строки, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ <Π½ΠΎΠΌΠ΅Ρ€Π° строки>.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 DATA 2,4,6
20 READ Z%
30 PRINT "Z%="; Z%
40 GOTO 10
RUN
Z%=2
Z%=4
Z%=6
OUT OF DATA IN 10

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅:
Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния стиля программирования, построСнного Π½Π° основС соврСмСнных достиТСний Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования, слСдуСт сильно  ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° GOTO. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ "ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹". ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ случаи использования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅ программистов.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GOTO ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ с пользой ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ процСсс записи Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Ρ… тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Для этого, Π½ΠΈΠΆΠ΅ строки с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ большС самогобольшого Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Π²Π²ΠΎΠ΄Ρƒ, слСдуСт Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

60000 SAVE "B:TESTPROG.BAS"

ВсСгда, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ произвСсти запись Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ эвм (Π±Π΅Π· Π½ΠΎΠΌΠ΅Ρ€Π° строки), происходит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° строку 60000:

GOTO 60000

Π”Π°Π»Π΅Π΅ слСдуСт активация ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° SAVE.

11.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ IF, THEN, ΠΈ ELSE для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ условных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ².

ΠšΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ словом IF начинаСтся условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ).
Π€ΠΎΡ€ΠΌΠ°Ρ‚: IF <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> GOTO <Π½ΠΎΠΌΠ΅Ρ€ строки> [ELSE <ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²>]
ΠΈΠ»ΠΈ
IF <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> THEN <ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> [[,] ELSE <ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> <ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> = <ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€>=[:<ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€>]
ΠΈΠ»ΠΈ
<ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> = <Π½ΠΎΠΌΠ΅Ρ€ строки>

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² (логичСской) БСйсик-строкС, Ρ‚.Π΅. условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ максимум 255 Π·Π½Π°ΠΊΠΎΠ².
Π’ качСствС <выраТСния> ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ логичСскоС ΠΈΠ»ΠΈ числовоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
Если логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠΌΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "истина", ΠΈΠ»ΠΈ числовоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ отличСтся ΠΎΡ‚ нуля, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π΅Ρ‚ΠΎΡ€Ρ‹, стоящиС Π² Π²Π΅Ρ‚Π²ΠΈ GOTO ΠΈΠ»ΠΈ THEN.
Π’ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, стоящиС Π² строкС послС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ELSE отсутствуСт (Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€), Ρ‚ΠΎ выполняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
<ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²> это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполняСмых ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² языка БСйсик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ":", ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ строки.

ДопускаСтся Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: 10 IF A%=3 THEN PRINT B%
20 IF (A%=0) OR NOT (B%=4)
THEN C%=5 ELSE GOTO 50
30 IF A% THEN A%=A%+100 : B%=200 : PRINT C%:
GOTO 100 ELSE A%=A%-100 : B%=C%*5+D% : PRINT B%

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
ЗаслуТиваСт внимания ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
10 IF X! > Y! THEN A!=3*X!+Y! ELSE B!=3*Y!+X!/2
20 C%=0

11.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ON для формулирования ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ· списка

ΠšΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ словом ON начинаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ CASE для осущСствлСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°
ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΡ‹.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: ON <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> GOTO <список Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк>
ΠΈΠ»ΠΈ
ON <Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> GOSUB <список Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк>
<список Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк> = <Π½ΠΎΠΌΠ΅Ρ€ строки>[,<Π½ΠΎΠΌΠ΅Ρ€ строки>]...
<Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅> ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числовым Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
ΠΎΡ‚ 1 Π΄ΠΎ 255 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выраТСния округяСтся Π΄ΠΎ
блиТайшСго наибольшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. ΠŸΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ выраТСния, Ρ€Π°Π²Π½ΠΎΠΌ N,
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ дСйствуСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠΈΠ· списка бСрСтся N-Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки, ΠΈ
Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ продолТаСтся с Π΄Π°Π½Π½ΠΎΠΉ строки ΠΏΡ€ΠΈ соблюдСнии спСцификации
GOTO ΠΈΠ»ΠΈ GOSUB. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 0 ΠΈΠ»ΠΈ большС числа Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк Π²
спискС, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° продолТаСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚
ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ большС Ρ‡Π΅ΠΌ 255, появляСтся сообщСниС ΠΎΠ± ошибкС:
ILLEGAL FUNCTION CALL.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: 10 ON I%-I% GOTO 100, 200, 300
50 ON G% GOSUB 500,700
.
. .
.
500 REM G%=1 : ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°1

.
.
.
590 RETURN
700 REM G%=2 : ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°2
.
.
.
870 RETURN

12. Π Π°Π±ΠΎΡ‚Π° с ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° языкС бСйсик

12.1. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ GOSUB ΠΈ RETURN для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции GOSUB ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ,
располоТСнным Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: GOSUB Π½ΠΎΠΌΠ΅Ρ€ строки
.
.
RETURN
ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, располоТСнная Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, прСдставляСт собой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ
ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… строк инструкций, ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽΡΡ
инструкциСй RETURN. Π’ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ нСсколько
инструкций RETURN. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ составлСна
Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ< Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ всСгда Π±Ρ‹Π»Π° инструкция RETURN. Π’ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…
ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ осущСствляСтся
инструкциСй GOSUB. ΠŸΡ€ΠΈ этом данная инструкция сообщаСт Π½ΠΎΠΌΠ΅Ρ€ строки, с
ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ,
Ρ‡Ρ‚ΠΎ этот Π½ΠΎΠΌΠ΅Ρ€ строки Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ
начинаСтся ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π’ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях такая ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ
Π΄Π°ΠΆΠ΅ нСсколько стартовых строк (ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π²Ρ…ΠΎΠ΄ΠΎΠ²!).
Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ RETURN дСйствуСт Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ возврвщаСтся инструкции, нСпосрСдствСнно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π° инструкциСй
GOSUB.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 F%=I
20 FOR I%=1 TO 6
30 GOSUB 100
40 NEXT
50 END
100 REM ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, располоТСнная Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅
110 F%=F%*F%
120 PRINT F%
130 RETURN
RUN
1 2 6 24 120 720
OK

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, располоТСнныС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
всСгда Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° какая-Π»ΠΈΠ±ΠΎ опрСдСлСнная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
инструкций трСбуСтся Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСстах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅.

12.2. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ CALL для Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² машинном ΠΊΠΎΠ΄Π΅ с ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ
ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ CALL позволяСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² бСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²
машинном ΠΊΠΎΠ΄Π΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сСгмСнты, ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ
сСгмСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅
ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сСгмСнта ΠΌΠΎΠΆΠ½ΠΎ
Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: CALL <стартовый адрСс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² машинном ΠΊΠΎΠ΄Π΅>
/(<ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€>/, <ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€>/...)/
Π’ качСствС <ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°> Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ любого Ρ‚ΠΈΠΏΠ° (Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ константой ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ).
(ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² смотри ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°.)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 100 RUTIN%=&H7000
110 CALL RUTIN%(Z!, 15%, AI$)

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅:
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ инструкции ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
Ρ‡Π΅Ρ€Π΅Π· БСйсик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ компилятором, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ
систСмС БРМ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² машинном ΠΊΠΎΠ΄Π΅ автоматичСски организуСтся стСк Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ
16 Π±Π°ΠΉΡ‚. Если этой области Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² стандартной
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² машинном ΠΊΠΎΠ΄Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ
стСка снова слСдуСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
Π’.ΠΊ. Π² области машинного ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ
числам, Ρ‚ΠΎ ΠΈ стартовый адрСс Ρ‚Π°ΠΊΠΆΠ΅ слСдуСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅
(смотри строку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ 100 Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅).
Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² БСйсик-ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ Π² БСйсик-компиляторС
вмСсто стартового адрСса ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ имя ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹,
состоящСС максимально ΠΈΠ· 6 символов. Для стандартной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ассСмблСрС
это имя Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±'явлСно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PUBLIC. Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½Π΅
ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ с
ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции COMMON (смотри 12.6.).

12.3. Ѐункция VARPTR для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ адрСсов памяти

Ѐункция VARPTR ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° области памяти
для Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ областСй Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (области Π±ΡƒΡ„Π΅Ρ€Π°) ΠΊΠ°ΠΊΠΎΠ³ΠΎ-
Π»ΠΈΠ±ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….
Π€ΠΎΡ€ΠΌΠ°Ρ‚: VARPTR (<Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚>)
ΠΈΠ»ΠΈ
VARPTR (#<Π½ΠΎΠΌΠ΅Ρ€ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…>)
ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ присвоСно
ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если этого Π½Π΅ Π±Ρ‹Π»ΠΎ сдСлано, Ρ‚ΠΎ происходит сообщСниС ΠΎΠ±
ошибкС. Π’ качСствС <Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°> ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° символьной строки ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ поля ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ поля Ρ‚ΠΈΠΏΠ° символьной строки. Π—Π°Π΄Π°Π½Π½Ρ‹Π΅ адрСса
Π»Π΅ΠΆΠ°Ρ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ -32768 Π΄ΠΎ 32767. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ
адрСса поля ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Ссли ΠΏΠΎΠ·ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΠͺявлСны Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ простыС
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… адрСсовполСй Π΄ΠΎΠ»ΠΆΠ½ΠΎ
ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ΠΈΡ… дальнСйшим использованиСм.
<НомСр Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…> устанавливаСтся ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… с
ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции OPEN (смотри ΠΏΡƒΠ½ΠΊΡ‚ 15.4.). ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ <Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π°Π±ΠΎΡ€Π°
Π΄Π°Π½Π½Ρ‹Ρ…> подготавливаСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс области Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.
Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ адрСсов ΠΎΠ±ΠͺявлСнных Π² БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° ассСмблСрС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 30 ADDR%=VARPTR(#3)


12.4. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ описания DEF USR для условного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ
ΠΌΠ°ΡˆΠΈΠ½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции DEF USR ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ БСйсик-
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сСгмСнты Π² машинном ΠΊΠΎΠ΄Π΅.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: ОписаниС: DEFUSR (<Π½ΠΎΠΌΠ΅Ρ€>) = <стартовый адрСс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² машинном
ΠΊΠΎΠ΄Π΅>
Π’Ρ‹Π·ΠΎΠ²: <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ>=USR (<Π½ΠΎΠΌΠ΅Ρ€> (<фактичСскоС
Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅>)
МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ 10 составлСнных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ…
сСгмСнтов Π² машинном ΠΊΠΎΠ΄Π΅, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π½ΠΎΠΌΠ΅Ρ€Π° ΠΎΡ‚ 0 Π΄ΠΎ 9. Если Π½ΠΎΠΌΠ΅Ρ€ Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ
стандартно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€ 0. Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΉ адрСс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² машинном ΠΊΠΎΠ΄Π΅
прСдставляСт собой Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° INTEGER, INTEGER-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ INTEGER-
константу. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ сСгмСнту ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’
Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сСгмСнта Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ
числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π²ΡˆΠ΅ΠΉ БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.
(ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² смотри ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°.).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 DEF USR 5=32763
.
.
.
90 !=USR 5(A!-B!*C%)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
Π’ ΠΎΠ΄Π½ΠΎΠΉ БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ инструкций
DEF USR с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ выполняСмой ΠΌΠΎΠΆΠ½ΠΎ снова
ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ стартовыС адрСса.
ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с БСйсик-компилятором слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ
для USR-Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π½Π΅ прСдусмотрСна ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Однако с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
инструкции POKE (смотри ΠΏΡƒΠ½ΠΊΡ‚ 13.9.) МоТно Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ
Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ считаны ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹
стандартной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π² машинном ΠΊΠΎΠ΄Π΅. Бтандартная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² машинном
ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π²ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅
значСния ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции PEEK (смотри ΠΏΡƒΠ½ΠΊΡ‚ 14.4.) Из
ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΉ области ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. РСкомСндуСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅
стадартныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² машинном ΠΊΠΎΠ΄Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° связСй Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²
ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π”Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ
Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции CALL (смотри ΠΏΡƒΠ½ΠΊΡ‚ 12.2.)

12.5. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ CHAIN для создания ΠΎΠ²Π΅Ρ€Π»Π΅ΠΉΠ½Ρ‹Ρ… структур Π² БСйсик-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции CHAIN ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сСгмСнты.
Π€ΠΎΡ€ΠΌΠ°Ρ‚: CHAIN /MERGE/<допустимый ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…>/,
/,<Π½ΠΎΠΌΠ΅Ρ€ строки>//,ALL//,DELETE<ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅ΠΌΡ‹Ρ…
Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² строк>//
<допустимый ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…> прСдставляСт собой ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ
допустимый Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС БРМ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. Он
задаСтся ΠΊΠ°ΠΊ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… строк, ΠΊΠ°ΠΊ пСрСмСнная Ρ‚ΠΈΠΏΠ° символьной
строки ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ константа Ρ‚ΠΈΠΏΠ° символьной строки, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ задаСтся Π²
ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…. Π’ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… содСрТатся Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ БСйсик-
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Набор Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ SAVE (смотри ΠΏΡƒΠ½ΠΊΡ‚ 5.11.). Если Π½Π΅
Π·Π°Π΄Π°Π½ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ автоматичСски принимаСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ".BAS".
Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опция MERGE, Ρ‚ΠΎ Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠŸΡ€ΠΈ этом слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всС условия, упомянутыС
ΠΏΡ€ΠΈ описании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ MERGE (смотри ΠΏΡƒΠ½ΠΊΡ‚ 5.14.). Если опция MERGE Π½Π΅
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‚ΠΎ Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сСгмСнты стандартно
ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ LOAD. ΠŸΡ€ΠΈ этом слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ всС условия,
упомянутыС ΠΏΡ€ΠΈ описании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ LOAD (смотри ΠΏΡƒΠ½ΠΊΡ‚ 5.12.) Π‘ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ
ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° R. ОсобСнно слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Ρ€ΡΡŽΡ‚ своС
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСявныС описания Ρ‚ΠΈΠΏΠΎΠ² (смотри ΠΏΡƒΠ½ΠΊΡ‚ 7.2.), Описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ
установки OPTION BASE (смотри ΠΏΡƒΠ½ΠΊΡ‚ 9.2.). Π’ случаС нСобходимости ΠΈΡ… слСдуСт
ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½ΠΎΠΌΠ΅Ρ€ строки сообщаСтся стартовая строка для
Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сСгмСнта. Π”Π°Π½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки Π½Π΅ измСняСтся ΠΏΡ€ΠΈ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ RENUM (смотри ΠΏΡƒΠ½ΠΊΡ‚ 5.10.). Если
Π½ΠΎΠΌΠ΅Ρ€ строки Π½Π΅ Π·Π°Π΄Π°Π½, Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сСгмСнт стартуСтся с ΠΏΠ΅Ρ€Π²ΠΎΠΉ
строки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ опция ALL, Ρ‚ΠΎ Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ сСгмСнту
ΠΏΡ€Π΅Π΄Π°ΡŽΡ‚ΡΡ всС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ сСгмСнту
ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ фактичСскиС значСния Ρ‚Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ
описаны Π² инструкциях COMMON (смотри ΠΏΡƒΠ½ΠΊΡ‚ 12.6.).
ΠžΠΏΠ΅Ρ†ΠΈΡ DELETE Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ стираниС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… строк, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚
Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сСгмСнт. Для задания области стираСмых строк
Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ DELETE ΠΏΡ€Π°Π²ΠΈΠ»Π° (смотри ΠΏΡƒΠ½ΠΊΡ‚ 5.9.).
Наборы Π΄Π°Π½Π½Ρ‹Ρ… послС выполнСния инструкции CHAIN ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 100 CHAIN "Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… 1"
150 CHAIN "Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… 1", 300
200 CHAIN "Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… 1", 300, ALL
250 CHAIN MERGE "Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… 1", 400
350 CHAIN MERGE "Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… 1", 400, DELETE 200-700
10 COMMON I%, K%()
20 I%=5
30 FOR I%=I% TO 0 STEP -1
40 K%(I%)=I%+2*I%
50 PRINT I%,K%(I%)
60 NEXT
70 CHAIN "PROG2"
P
5 15
4 12
3 9
2 6
1 3
0 0
0 0
1 3
2 6
3 9
4 12
5 15
ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° PROG2, размСщСнная Π² Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ
"PROG2.BAS"
10 COMMON I%, K%()
20 FOR I%=0 TO I%
30 PRINT I%, K%(I%)
40 NEXT
50 END

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с бСйсик-компилятором нСльзя Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ ALL, MERGE,
DELETE ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½ΠΎΠΌΠ΅Ρ€ строки. Если хотят ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ БСйсик-
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚ΠΎ этих ΠΎΠΏΡ†ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
инструкции COMMON (смотри ΠΏΡƒΠ½ΠΊΡ‚ 12.6.).

12.6. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ описания COMMON

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ COMMON позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для сцСплСнных ΠΈ
Π½Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… сСгмСнтов вмСстС с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ инструкциСй CHAIN
(смотри ΠΏΡƒΠ½ΠΊΡ‚ 12.5.).
Π€ΠΎΡ€ΠΌΠ°Ρ‚: COMMON <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> /, <ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ>/...
Π£ΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, фактичСскоС располоТСниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ
Π±Ρ‹Ρ‚ΡŒ прСдоставлСно Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ сСгмСнтам.
Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ»Π΅ΠΉ слСдуСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках "()". КаТдоС
описаниС COMMON Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструкциями
ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сСгмСнта. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²
инструкции COMMON Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… сСгмСнтов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ.
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ слСдуСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 10 COMMON I%, I1%, T#(), S1$, S2$

Β 

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ дальшС....

Β 

ОсваиваСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ интСрСсная ΠΊΠ½ΠΈΠ³Π° Π² 2-Ρ… Ρ‚ΠΎΠΌΠ°Ρ… ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° бэйсикС ΠΎΡ‚ А Π΄ΠΎ Π―

ОсваиваСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ К-1 Π‘.Π .Π‘ΠΌΠΈΡ‚ 1989 ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ 1-я

ОсваиваСм ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ К-1 Π‘.Π .Π‘ΠΌΠΈΡ‚ 1989 ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ 2-я

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ микропроцСссорных ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ² i8080, 580Π²ΠΌ80, z80, i8085, 1810, 1824

ΠžΡ€ΠΈΠΎΠ½-128 описаниС ΠΊΠΎΠΌΠ°Π½Π΄ микропроцСссора ΠΊ580Π²ΠΌ80 (ΠžΡ€ΠΈΠΎΠ½-Π‘ΠΎΡ„Ρ‚)

Π―Π·Ρ‹ΠΊ АссСмблСра для ΠžΡ€ΠΈΠΎΠ½Π°

Π―Π·Ρ‹ΠΊ Π‘ΠΈ для ΠžΡ€ΠΈΠΎΠ½Π°

Π―Π·Ρ‹ΠΊ Паскаль для ΠžΡ€ΠΈΠΎΠ½Π°

Π―Π·Ρ‹ΠΊ Π€ΠΎΡ€Ρ‚ для ΠžΡ€ΠΈΠΎΠ½Π°

Β 

Β 

Β 

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΈ интСрСсныС ΡΡ‚Π°Ρ‚ΡŒΠΈ

На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ страницу  На Π³Π»Π°Π²Π½ΡƒΡŽ страницу  На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ страницу

Β