Noll sida (CP/M)

Nollsidan (eller bassidan) är en datastruktur som används i CP/M -system för att program ska kunna kommunicera med operativsystemet. I 8-bitars CP/M-versioner finns den i de första 256 byten av minne , därav dess namn.

Motsvarande struktur i DOS är Program Segment Prefix (PSP), en 256-byte struktur, som dock som standard är placerad vid offset 0 i programmets belastningssegment (snarare än i segment 0) omedelbart före ett laddat program.

I 8-bitars CP/M har den följande struktur:

Offset Storlek Innehåll
00–02 Koda Avsluta programmet (hoppar till BIOS och används också för att hitta BIOS-ingångar).
03 Byte I/O-byte, en valfri funktion som tillåter omtilldelning av enheter i CP/M 2.
04 Byte Aktuell kommandoprocessorenhet (låg 4 bitar) och användarnummer (hög 4 bitar).
05–07 Koda Hoppa till CP/M BDOS-ingång - ingångspunkt för huvudsystemanrop. Detta är också adressen till den första minnesbyten som inte kan användas av programmet.
08–3A Koda 8080 omstart/ avbrottsvektorer .
3B–4F Bytes Reserverad
50 Byte Enheten från vilken programmet laddades (CP/M 3)
51–52 Ord Adress till lösenordet för den första FCB (CP/M 3)
53 Byte Längden på lösenordet för den första FCB (CP/M 3)
54–55 Ord Adress till lösenordet för den andra FCB (CP/M 3)
56 Byte Längden på lösenordet för den andra FCB (CP/M 3)
57–5B Bytes Reserverad
5C–6B Standard FCB 1
6C–7F Standard FCB 2 (skrivs över om FCB 1 öppnas)
80 Byte Antal tecken i kommandosvansen.
81–FF Bytes Kommandosvans (allt efter programnamnet).

I CP/M-86 är strukturen:

Offset Storlek Innehåll
00–02 Bytes Kodgruppens längd i byte
03–04 Ord Segmentadress för kodgrupp
05 Byte 8080 modellflagga - ställ in om programmet bara har ett segment
06–08 Bytes Datagruppens längd i byte
09–0A Ord Segmentadress för datagruppen
0B Byte Reserverad
0C–11 Deskriptor för extra grupp - samma format som för data
12–17 Beskrivning för stackgrupp
18–1D Beskrivning för X1-gruppen
1E–23 Beskrivning för X2-gruppen
24–29 Beskrivning för X3-gruppen
2A–2F Beskrivning för X4-gruppen
30–4F Bytes Reserverad
50 Byte Enheten från vilken programmet laddades (CP/M 3)
51–52 Ord Adress till lösenordet för den första FCB (CP/M 3)
53 Byte Längden på lösenordet för den första FCB (CP/M 3)
54–55 Ord Adress till lösenordet för den andra FCB (CP/M 3)
56 Byte Längden på lösenordet för den andra FCB (CP/M 3)
57–5B Bytes Reserverad
5C–6B Standard FCB 1
6C–7F Standard FCB 2 (skrivs över om FCB 1 öppnas)
80 Byte Antal tecken i kommandosvansen.
81–FF Bytes Kommandosvans (allt efter programnamnet).

Se även

Vidare läsning

externa länkar