СТРАНИЦА i S - D О S
KRA
®fF(b
Мы рады, что начали "прилетать первые ласточки" по операционной системе IS-DOS. Несмотря на все объективные и субъективные трудности, потихоньку начинается ее освоение.
(С) И.В.Лесных, г.Бийск, 1995.
Как известно, в операционной системе IS-DOS запускаемые непосредственно на выполнение файлы имеют расширение .com. Я предлагаю ввести в IS-DOS еще одно расширение: .ехе. это тоже будут запускаемые файлы, но их отличие от .com в том, что им не нужен фиксированный адрес загрузки, как .com-файлам. .ехе-файл - это ре-лоцируемый файл, который можно загружать под любой адрес и запускать с адреса загрузки. Вы даже можете изменить адрес загрузки, заданный в описателе файла, используя функцию RENAME.
Это была идея, а теперь - ближе к делу. Для того, чтобы файл с именем .ехе запускался при нажатии клавиши ENTER, необходимо в файл extent.txt внести следующую строку:
ехе:Q:SHELLext_exe
при этом файл ext_exe.c6m должен находиться в каталоге SHELL.
При запуске из .bat-фэйлов формат команды должен быть следующим :
А:SHELLext_exe <путьимя>.ехе
Листинг процедуры загрузки и запуска .ехе-файлов.
; IS-DOS Utility: *.ехе Loader ; 21.06.95 (С) Livsoft Ltd ORG 23900
LD С,#40
RST #10
RET NZ
RET С
LD C,#35
RST #10
RET С EXX
LD DE,8
ADD HL,DE
LD A,(HL)
CP "e"
JR NZ,ERR
INC HL
LD A,(HL)
CP "xм
JR HZ,ERR
INC HL
LD A,(HL)
CP "e"
JR NZ,ERR
INC HL
INC HL
LD E,(HL)
INC HL
LD D,(HL)
Открываем файл по пути или на -который указ. курсор. Считываем в HL адрес описателя файла.
Получаем адрес расширения. Проверяем его (необходимо при вызове из командной строки или из .bat-файла). При несоответствии расширения выдается сообщение об ошибке с номером 31.
LD |
(START) |
DE; |
PUSH |
DE |
В IX адрес за |
POP |
IX |
грузки файла. |
INC |
HL |
|
LD |
E,(HL) |
В DE длина фа |
INC |
HL |
йла в байтах. |
LD |
D,(HL) |
|
XOR |
A |
Обнулим |
LD |
HL, 0 |
указатели. |
LD |
C, #29 |
Чтение файла. |
RST |
#10 |
|
RET |
С |
|
DEFB |
#C3 |
Запуск файла. |
DEFW |
0 |
|
LD |
A,31 |
В А - номер |
SCF |
|
ошибки. |
RET |
|
|
END |
|
|
И еще небольшой совет.
После операции форматирования первый файл, который Вы запишите на йиск, должен быть is_dos.sys, Ъюсле чего операция загрузки системы с этого диска будет происходить гораздо быстрее.