
Сообщение от
Viktor2312
небольшая подпрограмма которая начинается с адреса 006FH нет случайно чего нибуд по этой подпрограмме
В мнемонике ВМ80:
Код:
ROM:006F _LDIR:
ROM:006F
ROM:006F 7E mov a, m
ROM:0070 12 stax d
ROM:0071 23 inx h
ROM:0072 13 inx d
ROM:0073 0B dcx b
ROM:0074 78 mov a, b
ROM:0075 B1 ora c
ROM:0076 C2 6F 00 jnz _LDIR
ROM:0079 C9 ret
В мнемонике Z80:
Код:
ROM:006F _LDIR:
ROM:006F
ROM:006F 7E ld a, (hl)
ROM:0070 12 ld (de), a
ROM:0071 23 inc hl
ROM:0072 13 inc de
ROM:0073 0B dec bc
ROM:0074 78 ld a, b
ROM:0075 B1 or c
ROM:0076 C2 6F 00 jp nz, _LDIR
ROM:0079 C9 ret
Эта подпрограммка аналог команды пересылки LDIR микропроцессора Z80: загрузка с инкрементом до BC=0.
Действие команды подобно пересылке блока данных при ПДП. Как для
адресации, так и для счётчика байтов отведено по 16 бит, т.о. могут обрабатываться блоки любой
длины и в любом месте памяти. Блоки данных могут также перекрываться. При HL=DE команда
теряет смысл т.к. источник и приёмник идентичны. Следует обратить внимание, что при
обработке команды сначала пересылаются данные, только затем декрементируется ВС, и на
основании этого решается вопрос о цикличности команды, выполнять дальнейшую пересылку
данных либо прекратить команду. После выполнения команды BC=0.
У ВМ80 её нет, поэтому есть эта подпрограмма. 

Сообщение от
Viktor2312
... она пишет информацию в память начиная с адреса FF74H.
Я так понял ты об этом фрагменте:
Код:
ROM:024B 21 97 00 lxi h, 0097h
ROM:024E 01 10 00 lxi b, 10h
ROM:0251 11 74 FF lxi d, FF74h
ROM:0254 CD 6F 00 call _LDIR
С адреса FF74h располагается "область сохранения текущего режима ASRAR" (16 байт) программы CONOUT. Здесь заносятся в эту область начальные значения, при инициализации системы. В HL загружаем адрес откуда переслать, в DE - куда, в BC - сколько байт.

Сообщение от
Viktor2312
И ещё один вопросик я так понял, что с адреса 0000H начинается программа BOOTM и почти 8 Кбайт занимает заканчивается адресом 1BFF.
Потом с адреса 2000H начинается CONOUT и заканчивается адресом 3FFF. А с адреса 4000H начинается ОЗУ?
Так и есть. Только это верно при включенной нулевой карте памяти.
По поводу BOOTM: для неё отведён диапазон адресов в ПЗУ 0000-1FFFh.

Сообщение от
Viktor2312
И все программы грузятся в ОЗУ с адреса 4000H, так как адреса ниже просто не доступны для записи, так как это ПЗУ?
Опять же это верно для нулевой карты памяти. Она включается при старте компьютера, а так же когда необходимо обратиться к подпрограммам находящимся в ПЗУ модуля процессора. При включении других карт памяти, в этой области располагается ОЗУ. При выборе программы "МОНИТОР" в стартовом меню, включается первая карта. А в ней по адресам ниже 4000h располагается ОЗУ.
Ниже пара карт распределения памяти из МПСиС.
Эта попроще.

Сообщение от
KokaF77
PC2,3
00 - ROM,RAM1,RAM2,VRAM
01 - RAM3,RAM1,RAM2,VRAM
10 - RAM3,RAM1,RAM2,RAMx
11 - VRAM,RAM1,RAM2,RAM3
RAMx - 3 страница (P0=1, P1=1), адреса 0000h-3FFFh
Её достаточно для запуска ПЭВМ в минимальной конфигурации. А так же для работы с МСИ.
Эта посложнее.
PC2,3
00 - ROM,RAM1,RAM2,VRAM
01 - RAM3,RAM1,RAM2,VRAM
10 - RAM3,RAM4,RAM2,RAM5
11 - RAM3,RAM6,RAM2,RAM7
Именно эта карта необходима для взаимодействия МП с КНГМД.