В.В. Попов (г. Кемерово)

БЫСТРЫЙ ВВОД ОПЕРАТОРОВ

В БЕЙСИКе БК-0010.01 для набора десяти наиболее часто употребляемых команд предусмотрены специальные функциональные клавиши (F0 - F9), обеспечивающие быстрый ввод этих команд. При необходимости функциональные клавиши можно перепрограммировать по своему усмотрению. Однако при написании программ на БЕЙСИКе десяти команд быстрого ввода явно недостаточно и остальные команды и операторы приходится вводить с клавиатуры посимвольно.

Предлагаемая подпрограмма - драйвер позволяет значительно расширить набор операторов БЕЙСИКа для быстрого ввода. Подпрограмма - драйвер работает совместно с БЕЙСИКом "Вильнюс, 1986.07.24", зашитым в ПЗУ компьютера, так как в подпрограмме есть обращения к ПЗУ БЕЙСИКа.

10 DATA 5599,266,48,119,188,2335,-28448,4454,2527,-31718,
   -24553,3,525,-30714,5570,26,4227,26051,64,-24573,775,26051,
   32,-24573
20 DATA 771,32394,95,-32152,24706,7351,400,80,5599,336,24,
   -24640,70,-30025,66,498,5599,-32694,24,5047,22,2807,18,2807,
   14,8183
30 DATA 10,8,9719,-30714,2,773,0,5599,336,24,2,-24640,18,
   -30025,14,-23104,32,757,5599,-32694,24,2,0,-12664,-12624,
   -18758,-18704
40 DATA -14630,-18951,-14646,-12616,-18933,-18829,-18806,
   -18824,-12643,-18910,-18923,-18899,-18736,-18884,-18856,
   -14635,-14587
50 DATA -12660,-18710,-18961,-12649,-18977,5569,468,5570,14,
   -30704,95,-24442,-28404,-27821,28789,29285,19345,26003,-28295
60 FOR A% = 256 TO 480 STEP 2
70 READ D%
80 POKE A%,D%
90 NEXT A%

После запуска программы в стековой области формируется подпрограмма в машинных кодах. Её необходимо записать на магнитофон командой:

BSAVE "SKEY",256,482

Для загрузки драйвера с магнитофона наберите команду:

BLOAD "SKEY",R

Теперь для быстрого ввода оператора необходимо нажать "префикс" (клавиша "КТ"), а затем одну из 26 букв латинского алфавита.

Соответствие букв и "приклеенных" к ним операторов приведено в таблице 1. Там же приведены адреса букв в драйвере.

Таблица 1

A,402 - ASC

Н,416 - HEX

O,430 - OPEN

V,444 - VAL

B,404 - BIN

I,418 - INPUT

P,432 - PRINT

W,446 - RENUM

C,406 - CSAVE

J,420 - DATA

Q,434 - NEW

X,448 - DEF

D,408 - DELETE

K,422 - KEY

R,436 - RETURN

Y,450 - INKEY

E,410 - ELSE

L,424 - LOCATE

S,438 - STOP

Z,452 - DIM

F,412 - FOR

M,426 - MID

T,440 - THEN

G,414 - GOSUB

N,428 - NEXT

U,442 - USR

 

 

В качестве примера вызовем команду RENUM: нажимаем и отпускаем клавишу "КТ"-, а затем нажимаем клавишу "W" (или "w") - на экране появляется полное слово команды, если теперь нажать клавишу "ВВОД", то выполнится команда перенумирования строк. Другой пример: необходимо ввести строку программы вида:

10 IF I = 1 THEN 20 ELSE PRINT A.

Для этого необходимо выполнить следующую последовательность:

10 IF I = 1 "КТ" Т 20
"КТ" Е "КТ" Р А.

Для тех читателей, которых не удовлетворят "приклеенные" операторы, автор советует выбрать из предлагаемых 108 операторов, функций и команд языка БЕЙСИК необходимые, "приклеить" их к выбранной клавише и записать полученную конфигурацию подпрограммы - драйвера на магнитофон. Так можно создать несколько версий драйвера и загружать нужную при работе в БЕЙСИКе.

Для этого необходимо: оператором БЕЙСИКа РОКЕ по адресу буквы (взятому из табл. 1) записать адрес начала оператора (из табл. 2). Например "приклеим" к букве О оператор RESTORE;

РОКЕ 430,-14654
Таблица 2

ABS

-12715

DATA

-18829

LET

-18927

PRESET

-18782

AND

-12777

DEF

-18961

LINE

-18973

PRINT

-18899

AS

-14590

DELETE

-18704

LIST

-18727

PSET

-18787

ASC

-12664

DIM

-18977

LOAD

-18746

READ

-18870

AT

-14618

DRAW

-18893

LOCATE

-18824

REM

-14670

ATN

-14622

EL

-14625

LOG

-12727

RENUM

-18710

AUTO

-18732

ELSE

-14630

LLIST

-18716

RESTORE

-14654

BEEP

-18802

END

-18833

LPOS

-12677

RETURN

-14666

BF

-14578

EOF

-12692

LPRINT

-18851

RND

-12755

BIN

-12624

EQV

-12788

MID

-12643

RUN

-18692

BLOAD

-18769

EXP

-12731

MONIT

-18722

SAVE

-18741

BSAVE

-18752

FIND

-18763

MOD

-12800

SGN

-12711

CALL

-18875

FIX

-12719

NEXT

-14659

SIN

-12747

CDBL

-12702

FN

-14583

NEW

-18736

SQR

-12751

CYR

-12628

FOR

-18951

NOT

-12796

STEP

-14608

CINT

-12707

FRE

-12672

OCT

-12620

STOP

-18856

CIRCLE

-18968

GOSUB

-14646

ON

-18844

STR

-12632

CLEAR

-18817

GOTO

-14640

OPEN

-18923

STRING

-12639

CLOAD

-18775

HEX

-12616

OR

-12780

TAB

-14615

CLOSE

-18916

IF

-18936

OUT

-18860

TAN

-12739

CLS

-18797

INKEY

-12649

OUTPUT

-14603

THEN

-14635

COLOR

-18793

IMP

-12792

PAINT

-18907

TO

-14611

CONT

-18697

INP

-12764

PEEK

-12760

TROFF

-18957

COS

-12743

INPUT

-14596

PI

-12773

TRON

-18811

CSAVE

-18758

INT

-12723

POINT

-12770

ISR

-14587

CSNG

-12697

KEY

-18806

POS

-12681

VAL

-12660

CSRLIN

-12688

LEN

-12668

POKE

-18865

XOR

-12784

В качестве префиксной клавиши можно выбрать любую другую клавишу, записав по адресу - 278 код этой клавиши. Определим в качестве префиксной - клавишу "ВС" (десятичный код - 19):

РОКЕ 278,19

В заключение следует отметить, что выключается драйвер командой

РОКЕ 48,-32162

Заключение рецензента

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

Л.Н. Жариков

Performed by © gid, 2012-2022.