Jump to content

Нулевая страница (CP/M)

(Перенаправлено с CALL 5 (CP/M) )

Нулевая страница (или базовая страница) — это структура данных , используемая в системах CP/M для связи программ с операционной системой. В 8-битных версиях CP/M он расположен в первых 256 байтах памяти , отсюда и его название.

Эквивалентной структурой в DOS является префикс сегмента программы (PSP), 256-байтовая структура, которая, однако, по умолчанию расположена по смещению 0 в сегменте загрузки программы (а не в сегменте 0), непосредственно предшествующем загруженной программе.

В 8-битном CP/M он имеет следующую структуру:

Компенсировать Размер Содержание
00–02 Код Выход из программы (переход в BIOS , а также используется для поиска точек входа в BIOS). [ 1 ]
03 Байт Байт ввода-вывода, дополнительная функция, позволяющая переназначение устройства в CP/M 2.
04 Байт Текущий диск командного процессора (младшие 4 бита) и номер пользователя (старшие 4 бита).
05–07 Код Переход к записи CP/M BDOS — точка входа основного системного вызова. Это также адрес первого байта памяти, не используемого программой. [ 1 ]
08–3А Код 8080 векторов перезапуска/ прерывания .
3Б–3Ф Байты Сдержанный
40–4Ф Байты Зарезервировано для использования BIOS [ 2 ]
50 Байт Диск, с которого была загружена программа (CP/M 3)
51–52 Слово Адрес пароля для первого FCB (CP/M 3)
53 Байт Длина пароля для первого FCB (CP/M 3)
54–55 Слово Адрес пароля для второго FCB (CP/M 3)
56 Байт Длина пароля для второго FCB (CP/M 3)
57–5Б Байты Сдержанный
5В–6Б FCB по умолчанию 1
6C–7F FCB 2 по умолчанию (перезаписывается, если FCB 1 открыт)
80 Байт Количество символов в хвосте команды.
81–ФФ Байты Хвост команды (все после названия программы).

В CP/M-86 структура следующая:

Компенсировать Размер Содержание
00–02 Байты Длина группы кодов в байтах
03–04 Слово Адрес сегмента кодовой группы
05 Байт Флаг модели 8080 - устанавливается, если в программе только один сегмент.
06–08 Байты Длина группы данных в байтах
09–0А Слово Адрес сегмента группы данных
Байт Сдержанный
0С–11 Дескриптор дополнительной группы – тот же формат, что и для данных.
12–17 Дескриптор группы стека
18–1Д Дескриптор группы X1
1Э–23 Дескриптор группы X2
24–29 Дескриптор группы X3
2А–2Ф Дескриптор группы X4
30–4Ф Байты Сдержанный
50 Байт Диск, с которого была загружена программа (CP/M 3)
51–52 Слово Адрес пароля для первого FCB (CP/M 3)
53 Байт Длина пароля для первого FCB (CP/M 3)
54–55 Слово Адрес пароля для второго FCB (CP/M 3)
56 Байт Длина пароля для второго FCB (CP/M 3)
57–5Б Байты Сдержанный
5В–6Б FCB по умолчанию 1
6C–7F FCB 2 по умолчанию (перезаписывается, если FCB 1 открыт)
80 Байт Количество символов в хвосте команды.
81–ФФ Байты Хвост команды (все после названия программы).

См. также

[ редактировать ]
  1. ^ Jump up to: а б Тейлор, Роджер; Леммонс, Фил (июнь 1982 г.). «Восходящая миграция. Часть 1: Переводчики. Использование программ перевода для перемещения программ CP/M-86 в CP/M и MS-DOS» [Использование программ перевода для перемещения программ CP/M в CP/M-86 и MS-DOS] (PDF) . БАЙТ . Том. 7, нет. 6. BYTE Publications Inc., стр. 321–322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344 [342, 344]. ISSN   0360-5280 . КОДЕН   БАЙТЕДЖ . Архивировано (PDF) из оригинала 16 января 2020 г. Проверено 15 января 2020 г. […] Получение доступа к CP/M-86 […] Для получения доступа к CP/M-86 необходимо поместить код функции в регистр CL, поместить байтовый параметр в регистр DL или поместить словный параметр в регистр DX, помещение сегмента данных в регистр DS (сегмент данных обычно не изменяется для преобразованной программы) и выполнение программного прерывания INT #224 . Результат возвращается в регистр AL, если это байтовое значение; если результатом является словесное значение, оно возвращается как в регистры AX, так и в BX. Значения двойного слова возвращаются со смещением в регистрах BX и сегментом в регистре ES. Преобразование программ из CP/M-80 в CP/M-86 требует замены вызова ячейки 5 программным прерыванием INT #224. Еще одно необходимое изменение связано с « теплой» загрузкой . В CP/M-80 доступ к «горячей» загрузке можно получить с помощью системного вызова с кодом функции 0 для перехода в ячейку 0. Однако CP/M-86 не поддерживает переход в ячейку 0. В результате , вы должны изменить этот выход программы в переведенной программе, чтобы программа работала правильно. При условии, что вызов ячейки 5 заменен на INT #224, выполнено изменение «горячей» загрузки и что регистры сопоставлены правильно, не должно возникнуть особых проблем с получением транслированной программы доступа к системным функциям CP/M-86. . […] Получение доступа к MS-DOS […] Хотя MS-DOS имеет «предпочтительный» механизм доступа к системе через программное прерывание INT #33 , для «ранее существовавших» программ предусмотрен дополнительный механизм, совместимый с CP/M- 80 соглашений о вызовах, по крайней мере, для функций в диапазоне 0–36. Что касается системных вызовов в пределах разрешенного диапазона функций, программисту не нужно ничего делать с переведенными программами, чтобы заставить их работать под MS-DOS, кроме правильного сопоставления регистров. MS-DOS также поддерживает функцию «горячей» загрузки CP/M-80. Переход в позицию 0 в MS-DOS вызывает программное прерывание INT #32 , которое функционально является завершением программы и обычным способом выхода из программы. […] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] (13 страниц)
  2. ^ Руководство по изменению CP/M 2.0 (PDF) . Цифровые исследования. 1979. с. 23.

Дальнейшее чтение

[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 692ae5eaab0ae90d4178ffaff120210d__1723796400
URL1:https://arc.ask3.ru/arc/aa/69/0d/692ae5eaab0ae90d4178ffaff120210d.html
Заголовок, (Title) документа по адресу, URL1:
Zero page (CP/M) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)