копирующей содержимое области ОЗУ в файл, и

BLOAD filespec$[,offset%] (9.28),

загружающей информацию из файла, созданного командой BSAVE, в ОЗУ.

Здесь

filespec$ — спецификация файла, в который производится побайтное

копирование содержимого ОЗУ для BSAVE, или из которого производится

копирование для BLOAD.

offset% — смещение начального адреса сохраняемой области памяти для BSAVE, или загружаемой области памяти для BLOAD.

lengths — количество копируемых байтов (от о до 65535), начальный адрес области памяти определяется смещением и значением сегмента, установленным последней команды DEF SEG.

Эти процедуры самостоятельно открывают файл, производят запись в файл или чтение из файла соответственно, а затем закрывают файл. Перед обращением к любой из этих процедур необходимо установить значение сегмента, определяющего адрес в ОЗУ, а после — восстановить значение текущего сегмента. Для записи в файл необходимо указать количество записываемых байтов, читаются же все записанные в файл байты.

РАБОТА С ПОСЛЕДОВАТЕЛЬНЫМИ ПОРТАМИ

В принципе возможена обмен информацией с клавиатурой, принтером и дисплеем как с файловыми устройствами, потому что эти устройства открываются операционной системой как файлы. Но гораздо удобнее (и по оформлению и по скорости работы программы) использовать команды, описанные в разделах относящихся к соответствующим устройствам. Но команд для работы с последовательными портами в языке QBasic нет. Поэтому для работы с устройством ввода/вывода, использующим связь через последовательный порт по протоколу обмена RS232, необходимо открыть это устройство как файл командой

OPEN "COMn: optlisti optlist2" [FOR mode] AS [#]filenum% [LEN=reclen%] (9.29)

Где: п — номер открываемого последовательного порта (1 — СОМ1, 2 — COM2); optlisti — список наиболее часто используемые при связи параметров:

[baud] [,[parity] [,[data] [,[stop]]]]

• baud — скорость обмена с открываемым устройством в бодах:75, 110,150,300,600,1200,2400,4800,9600;

• parity — метод проверки четности: N (нет), Е (чет), О (нечет), S (пробел), М (метка), РЕ (включить проверку четности);

• data — количество битов данных в байте: 5, 6, 7, 8;

• stop — количество стоповых битов: 1, 1.5, 2;