Mapa pamięci
Organizacja pamięci bloku systemowego
Z konstrukcyjnego punktu widzenia (narzuconego przez to, jak funkcjonuje jednostka centralna) organizacja pamięci w bloku systemowym wygląda następująco:
Adresy | Zawartość | ||
---|---|---|---|
dec | oct | hex | |
0 - 63 | 000 - 077 | 0x00 - 0x3f | wolne |
64 - 95 | 0100 - 0137 | 0x40 - 0x5f | wektory przerwań |
96 | 0140 | 0x60 | adres procedury obsługi EXL |
97 | 0141 | 0x61 | wskaźnik stosu |
100 - 111 | 0144 - 0157 | 0x64 - 0x6f | wektory obsługi niezainstalowanych opcji |
112 - 8191 | 0160 - 017777 | 0x70 - 0x1fff | wolne |
Uwagi:
- Umiejscowienie i rozmiar stosu nie są narzucone przez jednostkę centralną.
- Wektory niezainstalowanych opcji są adresami procedur obsługi wywoływanych w przypadku, kiedy w systemie nie jest zainstalowany arytmometr wielokrotnej precyzji, a w programie użyto jednej z instrukcji: NRF, AD, SD, MW, DW, AF, SF, MF, DF. Pozwala to zaimplementować programową obsługę operacji arytmetycznych dla liczb długich i zmiennoprzecinkowych.
Organizacja pamięci bloku systemowego - CROOK-5
CROOK wykorzystywał pamięć systemową jak w tabeli poniżej. Ponieważ w praktyce nie występowały konfiguracje MERY-400 bez arytmometru wielokrotnej precyzji, obszar wektorów niezainstalowanych opcji został również wykorzystany.
Adresy | Zawartość | ||
---|---|---|---|
dec | oct | hex | |
0 - 3 | 0 - 03 | 0x0 - 0x3 | Skok do systemu operacyjnego |
4 - 63 | 04 - 077 | 0x04 - 0x3f | Tablica konfiguracji MERY-400 |
64 - 95 | 0100 - 0137 | 0x40 - 0x5f | Wektory przerwań |
96 | 0140 | 0x60 | Adres procedury obsługi EXL |
97 | 0141 | 0x61 | Wskaźnik stosu |
98 | 0142 | 0x62 | Nie używane (?) |
99 - 107 | 0143 - 0153 | 0x63 - 0x6b | Tablica opisu dysków WINCHESTER |
108 - 5888 | 0154 - 013400 | 0x6c - 0x1700 | CROOK - jądro systemu |
5889 - 8191 | 013401 - 017777 | 0x1700 - 0x1fff | CROOK - tablice systemowe |