Mapa pamięci: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Linia 49: | Linia 49: | ||
| 108 - 5888 || 0154 - 013400 || 0x6c - 0x1700 || CROOK - jądro systemu | | 108 - 5888 || 0154 - 013400 || 0x6c - 0x1700 || CROOK - jądro systemu | ||
|- | |- | ||
| 5889 - 8191 || 013401 - 017777 || | | 5889 - 8191 || 013401 - 017777 || 0x1701 - 0x1fff || CROOK - tablice systemowe | ||
|- | |- | ||
|} | |} |
Wersja z 15:19, 17 paź 2012
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 | 0x1701 - 0x1fff | CROOK - tablice systemowe |