[an error occurred while processing this directive]
│.........*.......*...........*.............*.......................<
 /OSCLI/ интерпретатор командной строки

 Из языков высокого уровня команды  для  ОС могут подаваться через
интерпретатор  командной  строки.  Для  этого  команде  ОС  должен
предшествовать знак '*'. Например

	*ROMS

 Введенная  командная  строка целиком передается  OSCLI  (исключая
'*').

 Из программы на ассемблере можно  выполнить любую команду ОС. Для
этого надо поместить в регистры X  (младший  байт)  и  Y  (старший
байт) адрес начала командной строки и обратиться по адресу &FFF7.

 Комадная строка должна заканчиваться символом  &0D.  Знаки  '*' и
пробелы стоящие в начале строки отбрасываются.
─PE10

 Пример использования OSCLI:

	10 DIM C 20
	20 ¤C="HELP DFS"
	30 X%=C MOD 256
	40 Y%=C DIV 256
	50 CALL &FFF7

 После  ввода  команды  RUN  на   экран  будет  выдана  справочная
информация  по ДФС. Компьютер выделит  область  для  массива  C  -
возможно с адреса &F0C:

─PE11
	Адрес	Содержимое
	& F0C	& 48		(H)
	& F0D	& 45		(E)
	& F0E	& 4C		(L)
	& F0F	& 50		(P)
	& F10	& 20		(пробел)
	& F11	& 44		(D)
	& F12	& 46		(F)
	& F13	& 53		(S)
	& F14	& 0D		(перевод строки)
─PE
|||/ Ошибки и обработка BRK/|||

 Для  обработки  ошибок  Бейсик  использует  команду  программного
прерывания BRK. В своих программах  на  ассемблере Вы также можете
воспользоваться этим способом. В Бейсике (как и  в  других языках)
за   командой   BRK   располагается   последовательность   байтов,
содержащая следующую информацию:

	сама команда BRK (&00)
	Номер ошибки
	Сообщение об ошибке
	&00 - признак конца сообщения

 Когда 6502 выполняет команду BRK  ОС помещает адрес следующего за
BRK байта в ячейки &FD и &FE. Таким образом они указывают на номер
ошибки. Затем ОС передает управление по  вектору &202. Стандартная
подпрограмма,  чей  адрес  обычно располагается в ячейках  &202  и
&203, печатает сообщение об ошибке.

 Команда  BRK  позволяет  пользователю  легко   генерировать  свои
собственные сообщения об ошибках.
─PE

─LJ|||/HIMEM, LOMEM, TOP и PAGE/|||

 Эти четыре псевдо-переменные содержат информацию  о распределении
оперативной  памяти. PAGE и TOP содержат  адреса  начала  и  конца
программы пользователя, таким образом

	PRINT TOP-PAGE

 печатает размер программы.

 HIMEM содержит адрес конца рабочей области. Таким образом,

	PRINT HIMEM-TOP

 печатает размер свободной области памяти.

 Когда  Вы  запускаете  программу, компьютеру  требуется  некоторе
количество памяти для хранения  переменных,  поэтому  Вы не можете
использовать всю свободную память.

 В Агате ОЗУ занимает адреса  с  0  до 32767 (&7FFF). В 7-м режиме
ОЗУ  распределяется  так, как показано на слдеующей странице. Если
пользователь  добавляет в  программу  новые  строки  значение  TOP
увеличивается.  Обычно   компьютер  располагает  область  хранения
переменных сразу  после  конца программы. Однако, переменные можно
расположить где нибудь выше, изменив значение переменной LOMEM.

─PE
	---------------------------------------	&7FFF
		   Экранная область
 ---->	---------------------------------------	&7800
 HIMEM



		   Свободная область


				    Переменные
				    программы
					^
 LOMEM					|
 ---->	---------------------------------------
 TOP					|
					v


		Программа пользователя





 
 PAGE
 ---->	---------------------------------------	&F00

		 Системные переменные

	---------------------------------------	&000
─PE
|||/Распределение памяти в ОС ОНИКС/|||

│....*....*.*......*................................................<
  --------------------------------------------------------
	Адреса		Назначение
  --------------------------------------------------------
	D000	-	FFFF	Операционная Система
	C000	-	CFFF	Ячейки ввода/вывода
	8000	-	BFFF	Один из языков (например Бейсик)
	0000	-	7FFF	Оперативная память

	F00			Значение PAGE по умолчанию
	D80	-	DFF	Используется ОС
	D00	-	D7F	Зарезервировано для обработки NMI
	C00	-	CFF	Резервный буфер
	B00	-	BFF	Определения функциональных клавиш
	A00	-	AFF	Буфер для последовательного интерфейса
	900	-	9FF	Системные переменные
	800	-	8FF	Рабочая область
	400	-	7FF	Рабочая область активного резидента
	300	-	3FF	Рабочая область
	200	-	2FF	Системные вектора и переменные
	100	-	1FF	Стек 6502
	000	-	0FF	Нулевая страница

	Нулевая страница

	FF			Старший бит - флаг 'ВЫХОД'
	FD	-	FE	Адреса, используемые BRK
	FC 			Используется для сохранения A при
				обработке IRQ
	D0	-	FB	Системные ячейки ОС
	B0	-	CF	Ячейки файловой системы
	90	-	AF	Системные ячейки ОС
	70	-	8F	Свободные ячейки для пользователя
	0	-	6F	Ячейки Бейсика
  --------------------------------------------------------
[an error occurred while processing this directive]