Код:
INIT_BASIC_VARS LD DE,#FFFF
LD (#5CB4),DE ;установка P_RAMT
LD HL,#3EAF ;адрес символов для UDG
LD BC,#A8 ;длина UDG - #A8 байтов
LD (#5F00),HL ;сохранение адреса символов для UDG
LDDR
INC DE
LD (#5C7B),DE ;установка переменной UDG
DEC DE ;следующий адрес
LD (#5CB2),DE ;установка RAMTOP
LD BC,#0540 ;установка RASP и PIP
LD (#5C38),BC
LD HL,#3C00 ;установка CHARS
LD (#5C36),HL
LD HL,(#5CB2) ;берем адрес RAMTOP
LD (HL),#3E ;признак конца стека GO SUB
DEC HL ;следующий адрес
DEC HL ;установка ERR_SP
DEC HL
LD (#5C3D),HL
LD IY,#5C3A ;установка регистра IY
LD DE,#5CB6 ;установка CHANS
LD (#5C4F),DE
LD HL,#15AF ;адрес области описателей каналов в ПЗУ бейсика
LD BC,#15 ;ее длина - #15 байт
LDIR
EXD
DEC HL ;установка DATADD
LD (#5C57),HL
INC HL ;следующий адрес
LD (#5C53),HL ;установка PROG
LD (#5C4B),HL ;установка VARS
LD (HL),#80 ;конец области
INC HL ;следующий адрес
LD (#5C59),HL ;установка E_LINE
LD (HL),#0D ;конец строки
INC HL ;следующий адрес
LD (HL),#80 ;конец области
INC HL ;следующий адрес
LD (#5C61),HL ;установка WORKSP
LD (#5C63),HL ;установка STKBOT
LD (#5C65),HL ;установка STKEND
LD A,#38 ;атрибуты экрана
LD (#5C8D),A ;установка ATTR_P
LD (#5C8F),A ;установка ATTR_T
LD (#5C48),A ;установка BORDER
LD HL,#0223 ;установка REPDEL и REPPER
LD (#5C09),HL
DEC (IY-#3A) ;клавиши не нажаты
DEC (IY-#36)
LD HL,#15C6 ;адрес таблицы STRMS в ПЗУ бейсика
LD DE,#5C10 ;адрес переменной STRMS
LD BC,#0E ;длина таблицы - #18 байта
LDIR
SET 1,(IY+1) ;открыт поток 3
CALL #0EDF ;инициализация буфера принтера и экрана
LD HL,#5C6B ;буфер принтера использовался
LD (HL),2
JP #1655 ;MAKE_ROOM
тыр-дос инициализируется через CALL #3D21