Mapa pamięci: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
| Linia 47: | Linia 47: | ||
| 99 - 107 || 0143 - 0153 || 0x63 - 0x6b || [[Tablica opisu dysków WINCHESTER]] | | 99 - 107 || 0143 - 0153 || 0x63 - 0x6b || [[Tablica opisu dysków WINCHESTER]] | ||
|- | |- | ||
| 108 - | | 108 - 5887 || 0154 - 013377 || 0x6c - 0x16ff || CROOK - jądro systemu | ||
|- | |- | ||
| | | 5888 - 8191 || 013400 - 017777 || 0x1700 - 0x1fff || CROOK - tablice systemowe | ||
|- | |- | ||
|} | |} | ||
Wersja z 15:29, 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 - 5887 | 0154 - 013377 | 0x6c - 0x16ff | CROOK - jądro systemu |
| 5888 - 8191 | 013400 - 017777 | 0x1700 - 0x1fff | CROOK - tablice systemowe |