Справочник по системным программам для компьютера ZX Spectrum 128к 1969 г.

Описание 15 - программирование в машинных кодах.


16. ПРОГРАММИРОВАНИЕ В МАШИННЫХ КОДАХ

Включение стандартных программ TRDOS в программы машинного кода производится
относительно просто. Для программы требуется три элемента:

1. Машинный код, эквивалент BASIC TRDOS.

2. Стандартная программа машинного кода для ввода пункта 1.

3. Стандартная программа в машинных кодах для восстановления системы до ее
первоначального состояния, до вызова и выполнения команды.

Непосредственные ячейки (местоположение) памяти зависят от программы в целом. В
данном примере ячейки стандартной программы будут в 49000 для SAVE, в 49500 для LOAD
и в 50000 для команд их вызова. Таким образом, элемент 1 будет на 49000 или на 49500, а
элементы 2 и 3 на 50000.

Пример:

Пример:

Код для LOAD начинается в 49500 и представляет собой то же, что и вышеприведенный,
за исключением того, что адрес 49502 содержит 239 (LOAD) вместо 248 (SAVE).

Эти две стандартные программы, LOAD и SAVE , могут быть расположены где угодно, но
инициатор, который мы помещаем на50000, требует изменения в адрес 50007-50008 (запись
адреса стандартной программы) и 50025-50026 (адрес стандартной программы LOAD) с тем,
чтобы указать на новые адреса.

Чтобы произвести перераспределение, следует переассемблировать сам инициатор.
Это показано ниже в мнемонике Z80. Ниже даны только мнемоники Z80.

CHADD EGU 23645 Местоположение переменной

SOS CHADD

ORG ХХХХХ ХХХХХ-адрес этого кода

LD HL, (CHADD) Начало записи истинного
CHADD

LD (TEMP),HL Временное хранение истин-
ного CHADD

LD HL.49000 Адрес стандартной программы

SAVE

LD (CHADD).HL CHADD теперь указывает

на нашу стандартную
программу

CALL 15363 Ввод TRDOS SAVE через

CHADD.

JP BACK Переход на ту точку, с которой

вызвана вся эта стандартная
программа

LD HL, (CHADD)

LD (TEMP).HL Программа для LOAD повто-
ряет вышеназванное, только
с измененным адресом

LD HL.49500

CALL 15363

BACK LD HL, (TEMP) Начало восстановления

CHADD

LD (CHADD),HL Повторная загрузка

первоначального CHADD

RET Возврат

TEMP Метка, распределяющая

память для временного
хранения.

Вся стандартная программа, указывающая на программы SAVE и LOAD, вместе с
конечной процедурой "Возврат к точке захода", занимает только 47 байтов.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
А. Привалов - Падал прошлогодний снег.
Событие - Новая терминальная программа для работы с Vicomm модемом - Macro Modem v2.1
ZXNet - О истории открытия SPbZXNet.
Байки - 8 марта: Всё началось вечером седьмого марта...
СС'99 - интервью: XL-Design (создатели журнала ZX-Format).

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