5 'Автор программы Козлов Вячеслав (XI-й класс), 31.12.1989 г. 10 SCREEN 2 20 DATA F3,3E,FF,D3,A8,3E,AA,32,FF,FF,FF,7B,C8,F6,C9,"z":'Исходные данные для подпрограммы GINIT 30 RESTORE 20:I=&HA000 40 READ A$ 50 IF A$="z" THEN GOTO 80 60 POKE I,VAL("&h"+A$):I=I+1:GOTO 40 70 DATA 21,F7,8B,22,F8,FE,22,FD,FE,22,E9,FE,21,00,A0,22,FA,FE,22,FF,FE,22,EB,FE,C9,"z" :'Текст подпрограммы GINIT (автор Терещенко В.В.) 80 RESTORE 70:I=&HB000 90 READ A$ 100 IF A$="z" THEN GOTO 130 110 POKE I,VAL("&h"+A$):I=I+1:GOTO 90 120 DATA 11,1E,F4,D5,01,FF,0,ED,B0,E1,DD,21,48,6D,3E,F0,ED,73,C8,F6,C3,8C,F3,C9,"z" :'Текст подпрограммы S (автор Терещенко В.В.) 130 RESTORE 120:I=&HC000 140 READ A$ 150 IF A$="z" THEN GOTO 420 160 POKE I,VAL("&h"+A$):I=I+1:GOTO 140 170 DATA 3A :'Код ASCII символа ":" 180 DATA AF :' OOO Внутренний код оператора LINE OOO 190 DATA 28 :'Код ASCII символа "(" 200 DATA 0F :'Управляющий код. Здесь и всюду ниже: если аргумент двухбайтный, то управляющий код равен &h1C 210 DATA 0 :'Координата X1 в операторе LINE 220 DATA 2C :'Код ASCII символа "," 230 DATA 0F :'Управляющий код 240 DATA 0 :'Координата Y1 в операторе LINE 250 DATA 29 :'Код ASCII символа ")" 260 DATA F2 :'Внутренний код символа "-" 270 DATA 28 :'Код ASCII символа "(" 280 DATA 0F :'Управляющий код 290 DATA 64 :'Координата X2 в операторе LINE 300 DATA 2C :'Код ASCII символа "," 310 DATA 0F :'Управляющий код 320 DATA 64 :'Координата Y2 в операторе LINE 330 DATA 29 :'Код ASCII символа ")" 350 DATA 2C :'Код ASCII символа "," 360 DATA 0F :'Управляющий код 370 DATA 0F :'Код цвета в операторе LINE 380 DATA 2C :'Код ASCII символа "," 390 DATA 42,46:'Последовательно записанные коды символов "B" и "F" 400 DATA 0,0,0,"z":'Коды 0,0,0 показывают конец текстового представления 410 DATA 42,46,0,0,0,"z":'Последовательно записанные коды символов "B" и "F" 420 RESTORE 170:I=&HC100 430 READ A$ 440 IF A$="z" THEN GOTO 560 450 POKE I,VAL("&h"+A$):I=I+1:GOTO 430 460 DATA 21,C9,C9,22,F8,FE,22,FD,FE,22,E9,FE,22,FA,FE,22,FF,FE,22,EB,FE,C9,"z" :'Текст подпрограммы GEND (автор Терещенко В.В.) 470 RESTORE 460:I=&HC050 480 READ A$ 490 IF A$="z" THEN GOTO 560 500 POKE I,VAL("&h"+A$):I=I+1:GOTO 480 510 DATA CD,00,B0 :'CALL B000 ; Вызов подпрограммы GINIT 520 DATA 21,00,C1 :'LD HL,C100 ; 530 DATA CD,00,C0 :'CALL C000 ; Вызов подпрограммы S 540 DATA CD,50,C0 :'CALL C050 ; Вызов подпрограммы GEND 550 DATA C9,"z" :'RET 560 RESTORE 510:I=&HD000:DEFUSR=&HD000 570 READ A$ 580 IF A$="z" THEN GOTO 600 590 POKE I,VAL("&h"+A$):I=I+1:GOTO 570 600 A=USR(0)