User Tag List

Показано с 1 по 10 из 429

Тема: Апогей-БК01 и Апогей-БК01Ц: Внешний ROM диск

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Теперь будет так:
    Единственный недостаток этого загрузчика (как, впрочем, и предыдущей его версии) - слишком длинный
    При 11-битной адресации размер одного ряда будет 2Кб, а загрузчик потребует 107 байт по диагонали, т.е. эта диагональ растянется на 214Кб.

    Нужно как можно меньше записать по диагонали, например так:
    Код:
    	org 1h
    	LXI H, 21h    ; 21 21 00
    	NOP           ; 00
    	SPHL          ; F9
    	SPHL          ; F9
    	DCX H         ; 2B
    L0008:	DCX H         ; 2B
    	POP PSW       ; F1
    	POP PSW       ; F1
    	MOV M,A       ; 77
    	MOV M,A       ; 77
    	RST 1         ; CF
    	RST 1         ; CF
    	DS 14h        ; 20 любых байт
    L0023:    DATA-DATA-DATA
    Данный загрузчик преобразует DATA в нормальный код с адреса 000Dh и запустит его. Правда, размер его может быть всего 19 байт, и располагать его в DATA нужно задом наперёд. Но эти 19 байт могут грузить уже нормально, а не по диагонали.

    Вот пример:
    Код:
    	org 0Dh
    	LXI H, 0EE01h  ; 21 01 EE
    	POP B          ; C1          берём из DATA адрес, куда загружать, например 8080h
    	POP D          ; D1          инициализируем регистр E из DATA, должно быть 0000h
    L0012:	MOV M,E        ; 73          row = E/2
    	MVI M,1        ; 36 01       col = 0
    	LDA 0EE00h     ; 3A 00 EE    читаем байт
    	STAX B         ; 02          сохраняем
    	INX B          ; 03
    	INR E          ; 1C          E=E+2
    	INR E          ; 1C
    	RZ             ; C8          если ноль (загрузили 128 байт), то переходим по адресу из DATA, должно совпадать с началом вторичного загрузчика, например 8080h
    	JMP L0012      ; C3 12 00    на начало цикла
    L0020:
    Итого, по диагонали будет записано всего 39 байт, т.е. в пределах 80Кб

    Недостатки:
    - нужно запускать по адресу 0001
    - грузит только 128 байт, т.е. нужно догружать остаток
    Последний раз редактировалось b2m; 24.11.2011 в 13:17.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Апогей-БК01 и Апогей-БК01Ц: Обсуждение
    от Mick в разделе Радио-86РК
    Ответов: 370
    Последнее: 24.03.2025, 11:20
  2. Апогей-БК01 и Апогей-БК01Ц: Ремонт
    от ROMка в разделе Радио-86РК
    Ответов: 193
    Последнее: 15.11.2023, 15:09
  3. Продам Апогей БК 01
    от PicNov76 в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 15.07.2010, 07:20
  4. Кому Апогей БК-01 в СПб?
    от spoonlite в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 06.10.2009, 22:57
  5. Корпус от Апогей БК01Ц
    от Mick в разделе Барахолка (архив)
    Ответов: 26
    Последнее: 13.12.2007, 12:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •