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

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 71: Linia 71:
| 0x0104 || || || || rozpoznanie dysków podłączonych do maszyny
| 0x0104 || || || || rozpoznanie dysków podłączonych do maszyny
|- style="background: Lavender;"
|- style="background: Lavender;"
| 0x0171 || NMASK || 1 || 1111 0000 0000 0000 || kod instrukcji "JP(TAKE)" wykorzystywany w niekonwencjonalny sposób (do ustawiania Q,NB i maskowania przerwań)
| 0x0171 || NMASK || 1 || 0xf000 || kod instrukcji "JP(TAKE)" wykorzystywany w niekonwencjonalny sposób (do ustawiania Q,NB i maskowania przerwań)
|- style="background: Lavender;"
|- style="background: Lavender;"
| 0x01e9 || EXIT || || || wyjście ze schedulera?
| 0x01e9 || EXIT || || || wyjście ze schedulera?

Wersja z 19:29, 6 lip 2013

Mapa pamięci MERY-400 opisuje obszary w bloku pamięci systemowej wymagane ze względu na konstrukcję minikomputera. CROOK-5 organizuje pamięć systemową na swój sposób, zachowując oczywiście wymagania narzucone konstrukcją. Jedynym wyjątkiem są wektory niezainstalowanych opcji, które mogły zostać pominięte ze względu na fakt, że w praktyce nie występowały konfiguracje MERY-400 bez arytmometru wielokrotnej precyzji.

Ogólna organizacja pamięci systemowej CROOK-5

Adresy Zawartość
dec oct hex
0 - 1 0 - 01 0x0 - 0x1 Skok do właściwej części 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
99 - 107 0143 - 0153 0x63 - 0x6b Tablica opisu dysków WINCHESTER
109 - 20479 0155 - 047777 0x6d - 0x4fff System operacyjny

Szczegółowa mapa pamięci CROOK-5

Poniższa mapa pamięci odnosi się do systemu CROOK-5 w wersji 8F dla maszyny nie przerobionej. Kolory komórek tabeli oznaczają zawartość komórki (komórek) pamięci pod daną etykietą (adresem):

zawartość nieznana
zmienna, stała, struktura
adres (wskaźnik)
kod (procedura, cel skoku)
Adres Etykieta Długość Zawartość Opis
0x0002 DUMTIM 1 ?
0x0003 ENDSYS 1 AEOV0=0x1600 koniec właściwiej części systemu (przed nakładkami?)
0x0004 60 Tablica konfiguracji MERY-400
0x0040 32 Przerwania
0x0060 1 EXST adres procedury obsługi EXL
0x0061 STACK 1 0x2ffc adres stosu
0x0062 BPROG 1 TW Bieżący PROGram (wskaźnik na strukturę opisującą aktualny proces)
0x0063 D2M5 1 kwant podziału winchestera
0x0064 TATYWI 4 TAblica TYpów WInchesterów
0x0068 ADRPRK 4 ADResy PaRKingowe
0x006c CONSUM 1 suma kontrolna jądra (CONtrol SUM)
0x006d CHCS procedura licząca sumę kontrolną jądra (CHeck Control Sum)
0x009a START start jądra
0x00a1 ST0 konfiguracja pamięci
0x00db SL0 wstępna inicjalizacja obszarów pamięci
0x0104 rozpoznanie dysków podłączonych do maszyny
0x0171 NMASK 1 0xf000 kod instrukcji "JP(TAKE)" wykorzystywany w niekonwencjonalny sposób (do ustawiania Q,NB i maskowania przerwań)
0x01e9 EXIT wyjście ze schedulera?
0x0231 TAKE wejście do schedulera?
... system
0x0368 CLOCK obsługa przerwania timera
... system
0x059e TABEXL 65 TABlica EXtrakodów
... system
0x280e ABIN TERM=56
0x2846 QJW NOQ=16
0x2856 JOBMEM 1 LISTA PROC Z PAO DO ODEBRANIA
0x2857 FREMEM 1 LISTA WOLNEJ PAO
0x2858 BUFMEM 1 LISTA 4K - BUFOROW
0x2859 RAMDIS 1 lista zbiorow RAM\
0x285a PROCNU 1 NUMER PROCESORA
0x285b PGRFX 1 LISTA DLA GRF
0x285c LAST 1 GENERATOR
0x285d SCLK 1
0x285e YEAR 1
0x285f DAYS 2
0x2861 HOURS 3
0x2864 SEC 1
0x2865 CSEC 1
0x2866 DSEC 1
0x2867 MSEC 1
0x2868 BCSEC 1
0x2869 BMSEC 1
0x286a CQJTST 1
0x286b WRCS 1 odtąd aż do ADINI0 - zerowane przy starcie
0x286c NUCLK 1
0x286d LCLK 1
0x286e ACLK 1
0x286f PAXREG 7
0x2876 ARTABL ILAR*4=60 METRYKI TALERZY
0x28b2 TABND ILAR=15 NAZWY TALARZY
0x28c1 TABAD ILAR=15 TABLICA OFSETOW
0x28d0 ADSNET 1
0x28d1 INNET 2
0x28d3 NETEN 2
0x28d5 ENGCAM NOCAM+1=5
0x28da WORCAT 1
0x28db ROBCOR 1 KOM ROBOCZA DLA SIN+T.CORALE.
0x28dc ROBMEM 7
0x28e3 FIR 14
0x28e9 REJM 7 zawira się w FIR (FIR+6)
0x28f1 TSEXL 12
0x28f8 NMFIL 5 zawiera się w TSEXL (TSEXL+7)
0x28fd STATFI 2 STATYSTYKA ZBIOROWA
0x28ff ADBFCH 1
0x2900 AUKMX 1
0x2901 AUKPLX 1
0x2902 CHRMUX 1
0x2903 MUXDIS 1
0x2904 MUXTAP 1
0x2905 MUXFLP 1
0x2906 MUXPLX 1
0x2907 LWINCH 1
0x2908 MUXWRK 2
0x290a ZERMLX 1
0x290b TW PIOR+1=14 Fragment struktury opisującej proces. Do czego?
0x2919 ADINI 1 0x2fc5 Adres INI (procesu pierwotnego)?
0x291a ADGUP 1
0x291b FREES 1
0x291c FSART 1
0x291d FSFT 1
0x291e FLBS 1
0x291f FSBS 1
0x2920 ASYBUF 1
0x2921 ASYTAB 3
0x2924 IECENG LIEC=1
0x2925 IECADR LIEC=1
0x2926 TIECC 1
0x2927 DVOF MEMCH=72
0x296f TABMUX MEMCH=72
0x29b7 TABF MEMCH=72
0x29ff ENGDEV MEMCH+NOMT=76
0x2a47 ENGMT 4 ENGMT jest częścią ENGDEV (ENGDEV+MEMCH)
0x2a4b ST TERM=56
0x2a83 DISTAT 12
0x2a8f JW JWIEC+8=89
0x2ae8 TBAR 16
0x2af8 SYSTAB 1
0x2af9 TMEBEG 1
0x2afa TMEEND 1
0x2afb NOMEMB
...
0x2fc5 *ADINI TABUJB=55 Struktura opisu procesu pierwotnego INI?
0x2ffc *STACK 4 Stos systemowy (początkowo ADINI0)
02xffff ostatnie słowo 3. segmentu 4k