TR-DOS для профессионалов и любителей 1993 г.

Системные переменные - в таблице приведены некоторые системные переменные TR-DOS.


НЕКОТОРЫЕ СИСТЕМНЫЕ ПЕРЕМЕННЫЕ TR-DOS v5.01

В скобках [ ] даны значения при инициализации, соответственно, если DOS стартовала без диска в дисководе / с диском / и в процессе работы._

DEC

HEX

ЗНАЧЕНИЯ

23734

#5CB6

15 байт - стандартная область каналов CHANS ^S,R: по 2 байта - адреса процедуры вывода из системы, ввода в систему и байт-имя канала (К, S, R). В отличие от стандартных, изменен адрес в канале R: (23746) =#C9, так что адрес обработки ошибок канала R=#15C9, вместо #15C4 (аналогично в области DOS CHANS - 23858).Замена значения (#5CC2) с #C9 (RET) на #C3 (JP ?), [2 байта адреса] ведет к автостарту (по адресу) файла CODE после загрузки. При подключённом INTRFACE1 байт 23734=#00

23734

#5CB6

[2548,4264 (#09F4,#10A8)] K

23739

#5CBB

[2548,5572 (#09F4,#15C4)] S

23744

#5CC0

[3969,5577 (#0F81,#15C9)] R

23746

#5CC2

байт=#C9.Используется для вызова подпрограмм из DOS

23752

#5CC8

байт - режим работы диска "A" [#FF/#??]

23753

#5CC9

байт - режим работы диска "B" [#FF/#??]

23754

#5CCA

байт - режим работы диска "C" [#FF/#??]

23755

#5CCB

байт - режим работы диска "D" [#FF/#??]

Ячейки инициализируются только в DOS 5.01 [#FF, если дисковод не

инициализирован; иначе %?00000??:

бит 7 = 1 для DD, = 0 для SD;

бит 1 = 1 для DS, = 0 для SS;

бит 0 = 0, если DD используется в режиме SD]

23756

#5CCC

байт - Номер сектора, выводимого командой CAT [#0D]

23757

#5CCD

байт - готовности дисковода (регистр состояния ВГ93) [#80/#00]

23758

#5CCE

байт - #00 операция чтения, #FF оператор записи [#00]

23759

#5CCF

2 байта - адрес WORKSP при работе MOVE, COPY, LIST

23761

#5CD1

2 байта - номер строки автостарта при SAVE BASIC

23764

#5CD4

байт - номер стертого файла при работе MOVE

23765

#5 CD 5

байт - номер сектора стертого файла при MOVE

23766

#5CD6

байт - номер дорожки стертого файла при MOVE. Для форматирования обнулить, по окончании будет число дефектных секторов (аналогично при проверке дорожки процедурой #15 команды #3D13). Способ загрузки для литеры #0E (регистр A). Равен #FF, если команда не выполнена

23767

#5CD7

2 байта - адрес. После инициализации указывает на счетчик [23771], после записи CODE - на начальный адрес в памяти. При вызове из BASICa содержит адрес строки, из которой произошел вызов. Кроме того, после проверки типа дисковода #5CD7 содержит число дорожек (?). При выполнении форматирования #5CD7 содержит число дорожек для форматирования, а #5CD8- флаг VERIFY: при #5CD8 , не равным 0, форматированная дорожка не проверяется

23769

#5CD9

2 байта - адрес символа для интерпретации, аналогично CH_ADD. После инициализации указывает на [23869]. После записи файла CODE содержит длину записанного файла. При форматировании переменная #5CDA=#80, если дискета двусторонняя (иначе форматирована только SIDE1). Для литеры #0E хранит адрес загрузки файла

23771

#5CDB

2 байта - счетчик загрузки; после операций с файлами содержит длину загруженной/записанной части файла (?). При MOVE содержит текущие номера сектора и дорожки. При LIST байт #5CDB содержит номер текущего канала вывода

23773

#5CDD

16 байт заголовка файла; в той же форме, как и в каталоге

23773

#5CDD

8 байт - имя файла

23781

#5CE5

1 байт - тип файла (B, C, D, #)

23782

#5CE6

2 байта - адрес START для CODE или полная длина для BASIC

23784

#5CE8

2 байта - длина файла или программной части для BASIC

23786

#5CEA

1 байт - объем файла в секторах

23787

#5CEB

1 байт - номер начального сектора файла (#00.. ,#0F)

23788

#5CEC

1 байт - номер начального трека файла (#00.. ,#9F)

23789

#5CED

7 байт - параметров файла при копировании с дисковода на дисковод

23789

#5CED

2 байта - адрес START для CODE или полная длина для BASIC

23791

#5CEF

2 байта - длина файла или программной части для BASIC; при наличии INTERFACE 1 байт=#01

23793

#5CF1

1 байт - объем файла в секторах

23794

#5CF2

1 байт - номер начального сектора файла (#00.. ,#0F)

23795

#5CF3

1 байт - номер начального трека файла (#00.. ,#9F)

23796

#5CF4

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

23797

#5CF5

байт - счетчик загружаемых дорожек; после операций с файлами содержит номер следующей дорожки

23798

#5CF6

байт - дисковод для временной операции (0-3) [#00] (т.е. когда задается имя, например, "B: name"). Для адресации DOS использует двухбайтное число, поэтому байт #5CF7=#00

23799

#5CF7

байт - при возврате из DOS (15616) обнуляется

23800

#5CF8

байт - дисковод-источник при операции с двумя файлами (#00-#03) [#00]; #5CF9=#FF, если канал открыт (?)

23801

#5CF9

байт - дисковод-приемник при операции с двумя файлами (#00-#03) [#00]; тип операции: LOAD=#00, VERIFY=#FF [#00] (при #FF вместо команд загрузки будет выполняться сравнение)

23802

#5CFA

байт - время перемещения головки дисковода "A"

23803

#5CFB

байт - время перемещения головки дисковода "B"

23804

#5CFC

байт - время перемещения головки дисковода "C"

23805

#5CFD

байт - время перемещения головки дисковода "D"

[#FF, если дисковод не инициализирован; иначе #08-#0B; #08 - максимальная скорость]. Используются только в DOS 5.01, в других версиях скорость не изменяется (только быстрая), но значение #08 используется как признак инициализации дисковода

23806

#5CFE

байт - команда контроллера ВГ93 , задаваемая DOS (см.#3F18).Для команд чтения #5CFE=#80(%1000 0000), для команд записи #5CFE=#A0 (%1010 0000) [#00]

23807

#5CFF

байт - номер сектора+1 для ВГ93, задаваемый DOS (см.#3F0D)

23808

#5D00

2 байта - адрес буфера DOS, в который грузится сектор. Указывает на адрес DOS-CHANS; эта область каналов вместе с программой при загрузке временно сдвигается на 257 ячеек памяти. При открытом дисковом файле указывает на начало BASIC-области (#5E5F) [#00/#00/#5D25]

23810

#5D02

2 байта - временно сохраняется регистр HL. После инициализации указывает на (E LINE+1 ?) [#5D3D] (сохраненный регистр HL?)

23812

#5D04

2 байта - временно сохраняется регистр DE [#317C]

23814

#5D06

байт - число байт, по которому происходит поиск имени файла в каталоге (8-имя + 1-тип) [#09]

23815

#5D07

байт - результат MOVE: #00 - no files, <>#00 - O.K.; счетчик удаленных файлов в процедуре #12 подпрограммы #3D13

23816

#5D08

байт - сохраняется 1-я буква имени файла при MOVE (и ERASE в процедуре

#12 подпрограммы 3D13)

23820

#5D0C

байт - признак выделения буфера ввода / вывода: #00 - выделен, #FF - нет [#FF] (см. #5D00)

23821

#5D0D

байт - номер файла при копировании с двумя дисководами

23822

#5D0E

байт - при #FE сообщения DOS на экран не выводить, при #FF - признак работы BASICa, при другом - TR-DOSa

23823

#5D0F

байт - код ошибки TR-DOS при вызове из BASICa (см. ранее), а также номер файла в каталоге при его поиске литерой #0A процедуры #ЗD13 [#00]

23824

#5D10

старший байт ошибки при вызове 15616 или процедуры (например, литеры чтения файла #0E процедуры #3D13); необходимо предварительно записать #00 [#00/#FF]

23825

#5D11

2 байта - адрес строки команды TR-DOS: при вызове из BASICa указывает на CH_ADD, при работе в 15616 - на буфер редактора E_LINE [#5D3C]; aдрес строки команды TR-DOS: при вызове из DOS = E-LINE; из BASIC = CH-ADD

23827

#5D13

2 байта - адрес, указывает на старший адрес стека, содержащий адрес процедуры обработки ошибок ERR SP [#FF54]; копия ERR-SR; если старший байт = #AA, выполняется команда RUN "boot", а в #5D19 код #FE

23829

#5D15

байт - режим DOS: при #FF - выполнение команды DOS из BASICa, при #00 -работа в DOS

23830

#5D16

байт - копия системного регистра (режим работы контроллера, обычно номер дисковода + #3C/#2C см. далее описание порта #FF)

23831

#5D17

байт - признак инициализации DOS: если = #00, при входе в DOS выводится заставка и выполняется команда RUN "boot", при = #AA - нет (повторный вход) [#00/#AA]; при = #FF, не дает ошибку при чтении неверного адреса

23832

#5D18

используется если подключен INTERFACE 1, при этом #5D18=#FF [#00]

23833

#5D19

байт - номер дисковода по умолчанию(#00...#03)[#00]

23834

#5D1A

2 байта - адрес подпрограммы возврата из TR-DOS [#02C0] (встречается также #0201 ?)

23836

#5D1C

2 байта - хранят текущее значение стека SP [#FF3E]

23838

#5D1E

байт - номер файла в каталоге, если он найден [#00]

23840

#5D20

3 начальных байта последней командной строки

23843

#5D23

байт - объем памяти для MOVE (в блоках, min 4KB)

23845

#5D25

байт - начало временного буфера DOS [#FF]

23846

#5D26

20 байт - область каналов CHANS-DOS K, S, R, P; аналогичны стандартным по адресу #5CB6 (+ канал принтера):

23846

#5D26

[2548,4264 (#09F4,#10A8)] K

23851

#5D2B

[2548,5572 (#09F4,#15C4)] S

23856

#5D30

[3969,5577 (#0F81,#15C9)] R *

23861

#5D35

[2548,5572 (#09F4,#15C4)] P

23866

#5D3A

байт-разделитель [#80]

23867

#5D3B

Начало BASIC-программы, если не открывались дисковые файлы (см. далее)




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
О терракте - Терракт в Волгодонске...
Новые программы - Обзор Digital Studio v1.12, Digital Studio Compiler v1.01
Всякая всячина - как "чайник" - А знают ли наши уважаемые мэтры программирования, откуда пришло к нам это словечко?
Обозрение - О специализированных БИС, которые создают неповторимость Amiga.
Лит. страничка - Гриф "Y-II" (Дневник - продолжение).

В этот день...   25 апреля