PDA

Просмотр полной версии : Адреса 00H-100H



Helloween
09.08.2010, 21:59
Кто подскажет распределение памяти по адресам 00h-100h в CP/M?
Желательно побайтно и на русском языке.

Заранее спасибо.

artice
10.08.2010, 15:04
Кто подскажет распределение памяти по адресам 00h-100h в CP/M?
Желательно побайтно и на русском языке.

Заранее спасибо.

Полное описание СР/М лежит на сайте Макса Тимонина http://atmturbo.nedopc.com/, удачи в изучении!:v2_thumb:

Wlodek
10.08.2010, 23:35
Полное описание СР/М


...и MSX DOS, вполне подойдёт, только выкинуть лишнее.

Helloween
11.08.2010, 11:59
Полное описание СР/М лежит на сайте Макса Тимонина http://atmturbo.nedopc.com/, удачи в изучении!:v2_thumb:

Там нет описания этих адресов

---------- Post added at 13:59 ---------- Previous post was at 13:57 ----------


...и MSX DOS, вполне подойдёт, только выкинуть лишнее.

А где взять описание MSX DOS?
Замучился искать...

Vadim
13.08.2010, 06:36
Кто подскажет распределение памяти по адресам 00h-100h в CP/M?
Желательно побайтно и на русском языке.

Скину, как будет время свободное. У меня в моих же доках это есть. Есть и в руководствах для Профи. И ещё где то. Как будет время скину обязательно. Самое подробное описание))

caro
13.08.2010, 08:29
Там нет описания этих адресовРазжеванного нет, но если внимательно почитать и понять как работает система, всё найдется.
Если кратко. то:
0000h..0003h - JP WARMBOOT (команда перехода на теплый старт);
0004h - BYTE I/O (байт разбитый на 4 группы по 2 бита, определяющие текущие устройства ввода/вывода);
0005h..0007h - JP BDOS (команда перехода на процедуры системных вызовов BDOS);
0038h..003Ah - JP INT (переход на обработку программного прерывания, например в DDT и ZDT);
005Ch..006Bh - Первый FCB;
006Сh..007Bh - Второй FCB;
0080h..00FFh - Системный DMA и буфер консольного ввода.
Это кратко, расшифровка всех тонкостей - читай описание.



А где взять описание MSX DOS?
Замучился искать...На русском нет, а на английском полно.
Хотя нет, и на русском можно найти, если хорошо поискать :)

Vadim
13.08.2010, 08:39
0080h..00FFh - Системный DMA и буфер консольного ввода.

После старта программы там лежит остаток командной строки, без самой программы. Первый байт - ее длина. Т.е. если мы запускали программу строкой prog file1 file2, то там будет N, file1 file2. Где N - длина этой строки.

caro
13.08.2010, 08:49
После старта программы там лежит остаток командной строки, без самой программы. Первый байт - ее длина. Т.е. если мы запускали программу строкой prog file1 file2, то там будет N, file1 file2. Где N - длина этой строки.Всё правильно. А из file1 формируется FCB1, из file2 - FCB2.
Я не стал это расшифровывать, а написал "буфер консольного ввода", тонкости - читать в описании системы.

Vadim
13.08.2010, 09:06
Да, да.
Кстати, самое точное описание есть в фирменной книжке по CP/M 2,2 или CP/M 3, она есть на сайтах. Правда там на ангельском.

KokaF77
28.09.2010, 14:04
The Unofficial CP/M Web site
http://www.cpm.z80.de/
На этом сайте есть практически всё для изучения CP/M во всех её вариациях.

caro
28.09.2010, 15:09
Вот еще подборка по CP/M:
http://www.retroarchive.org/cpm/
http://www.zimmers.net/anonftp/pub/cpm/ALLFILES.html
С-компиляторы под CP/M
http://www.z80.eu/c-compiler.html

Black_Cat
07.05.2011, 01:11
Господа, объясните, в базовую страницу (#0-#100) вааще какие-то изменения программами вносятся, или она неизменна с момента загрузки, и до выключения компа?

Eltaron
07.05.2011, 07:53
Господа, объясните, в базовую страницу (#0-#100) вааще какие-то изменения программами вносятся, или она неизменна с момента загрузки, и до выключения компа?
как минимум вот это

005Ch..006Bh - Первый FCB;
006Сh..007Bh - Второй FCB;
0080h..00FFh - Системный DMA и буфер консольного ввода.
меняется постоянно

Vadim
10.05.2011, 14:15
Может меняться адрес точки входа в BDOS (0006) и CP/M BIOS адрес 0001. Могут меняться байты в адресах 0008,0010,0018,0020,0028,0030. Это зависит от специфики конкретой системы. На адрес 30 как правило делают точку вызова из break point в отладчиках (sid, zsid, bug sid)

Black_Cat
10.05.2011, 14:26
спасибо всем, я понял что меняется практически во всём диапазоне адресов #0-#100