Mapa pamięci: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
 
(Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 15: Linia 15:
| 97 || 0141 || 0x61 || wskaźnik stosu
| 97 || 0141 || 0x61 || wskaźnik stosu
|-
|-
| 100 - 111 || 0144 - 0157 || 0x64 - 0x6f || wektory obsługi niezainstalowanych opcji
| 100 - 111 || 0144 - 0157 || 0x64 - 0x6f || wektory obsługi niezainstalowanych opcji<br/>(w przypadku braku Arytmometru Wielokrotnej Precyzji)
|-
|-
| 112 - 8191 || 0160 - 017777 || 0x70 - 0x1fff || wolne
| 112 - 8191 || 0160 - 017777 || 0x70 - 0x1fff || wolne
Linia 25: Linia 25:
* 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.
* 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 ==
Zobacz również: [[Mapa pamięci 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.
 
{| class="wikitable"
! colspan="3" | Adresy !! rowspan="2" | 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 || [[Przerwania|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
|-
|}

Aktualna wersja na dzień 18:22, 3 sie 2014

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
(w przypadku braku Arytmometru Wielokrotnej Precyzji)
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.

Zobacz również: Mapa pamięci CROOK-5