ZX-Ревю 1997 №1-2 1997 г.

Форум - изменения в мини-драйвере дисковых операций.


МФК: Колесов Александр из Ростова на Дону советует всем, кто пользуется Мини-драйвером дисковых операций (ZX-РЕВЮ 95/4), внести в него несколько изменений.

форум

КОРР: Предлагаю доработку, позволяющую получить рело-цируемый вариант Мини-драйвера.

Для начала строки 25, 36 и 51 (здесь и далее ссылки на исходный вариант А.Алексеева) переделываем следующим образом: 25 CALL #007С CD 7С 00 JR DOS 18 64

36

#007С DOS

CD 7С 00 18 4F

CALL JR

51 МЗ: CALL #007С CD 7С 00 JR DOS 18 2Е Как видим, все сводится к замене команды CALL DOS на CALL #007С и относительному переходу на метку DOS.

Далее, ввиду того, что после внесенных изменений длина программы увеличилась на шесть байтов, исправляем следующие строки:

63 М4: DJNZ L3 ЮСЕ

67 DJNZ L1 10 ВО

И, наконец, самое главное. Переделываем программу (это еще шесть дополнительных байтов), начиная со строки 78 (метка DOS):

SP SP

(SP).HL

HL

HL

(SP).HL IX

#3D2F

3B 3B E3 23 23 E3

DD E5 C3 2F 3D

DEC DEC EX INC INC EX

PUSH JP END

Из всего вышесказанного ясно, что изменения каснулись только способа вызова подпрограмм из ПЗУ TR-DOS. Теперь коментарии.

78 DOS:

После того, как отработает всем известная (см. например, ZX РЕВЮ 95/1) конструкция CALL #007С, по команде JR DOS попадаем на метку DOS и получаем на стеке адрес следующей за CALL #007С команды, в нашем случае -это JR DOS:

DEC SP DEC SP Помещаем содержимое вершины стека (т.а адрес возврата) в HL, a HL сохраняем на стеке:

EX (SP).HL Увеличиваем значение адреса возврата, чтобы после выхода из подпрограммы ПЗУ TR-DOS "проскочить" JR DOS: INC HL INC HL Возвращаем на стек новый адрес возврата и восстанавливаем HL:

EX (SP),HL А теперь, как обычно, помещаем на стек адрес подпрограммы из ПЗУ TR-DOS и переходим на ее исполнение: PUSH IX JP #3D2F Вот и все. Смело набирайте и пользуйтесь: пашет как зверь!




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Inferno - Вступление от редактора.
Жеоезо - КEМPSTON джойстик для Pentagon 128.
Железо - обзор микропроцессора Zilog Z380, продолжение.
Реклама
Warez - DejaVu XX,#0A, c2h5oh 2, madriel 1k, rabbit3-4, kaka3-4.

В этот день...   24 ноября