Mapa pamięci CROOK-5: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
|||
(Nie pokazano 32 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 25: | Linia 25: | ||
= Szczegółowa mapa pamięci CROOK-5 = | = 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): | |||
Kolory komórek tabeli oznaczają zawartość komórki (komórek) pamięci pod daną etykietą: | |||
{| class="wikitable" | {| class="wikitable" | ||
| | zawartość nieznana | | | zawartość nieznana | ||
|- | |- | ||
| bgcolor="Cornsilk" | zmienna, stała, struktura | | bgcolor="Cornsilk" | Dane (zmienna, stała, struktura) | ||
|- | |- | ||
| bgcolor="Pink" | | | bgcolor="Pink" | Adres (wskaźnik) | ||
|- | |- | ||
| bgcolor="Lavender" | | | bgcolor="Lavender" | Kod (procedura, funkcja, etykieta) | ||
|} | |} | ||
Linia 40: | Linia 39: | ||
! Adres !! Etykieta !! Długość !! Zawartość !! Opis | ! Adres !! Etykieta !! Długość !! Zawartość !! Opis | ||
|- | |- | ||
| 0x0002 || DUMTIM || 1 || | | 0x0002 || DUMTIM || 1 || || ? | ||
|- style="background: Pink;" | |- style="background: Pink;" | ||
| 0x0003 || ENDSYS || 1 || AEOV0=0x1600 || koniec właściwiej części systemu (przed nakładkami?) | | 0x0003 || ENDSYS || 1 || AEOV0=0x1600 || koniec właściwiej części systemu (przed nakładkami?) | ||
|- | |||
| colspan=5 | [[Tablica konfiguracji MERY-400]] | |||
|- style="background: Cornsilk;" | |||
| 0x0004 || NOBUFF || 3 || || starszy bajt: różne, młodszy bajt: Number Of BUFFers (liczba buforów systemowych) | |||
|- style="background: Cornsilk;" | |||
| 0x0007 || SYSSET || 1 || || SYStem SETtings? (ilość pamięci dla systemu, długość buforów końcówek) | |||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| | | 0x0008 || TABMEM || 8 || || TABlica konfiguracji pamięci (MEMory) | ||
|- style="background: Cornsilk;" | |||
| 0x0010 || TABDIN || 16 || || adresy talerzy dyskowych | |||
|- style="background: Cornsilk;" | |||
| 0x0020 || TABMT || 4 || || pamięci taśmowe | |||
|- style="background: Cornsilk;" | |||
| 0x0024 || CAMINI || 2 || || adres CAMAC | |||
|- style="background: Cornsilk;" | |||
| 0x0026 || PIINI || 2 || || adres PI | |||
|- style="background: Cornsilk;" | |||
| 0x0027 || IECINI || 2 || || adres IEC | |||
|- style="background: Cornsilk;" | |||
| 0x0028 || TABCHL || 5 || || TABle CHanneL - tablica kanałów | |||
|- style="background: Cornsilk;" | |||
| 0x002d || ADNET || 1 || || ADress NETwork - adres szybkiego łącza | |||
|- style="background: Cornsilk;" | |||
| 0x002e || TABCLK || 1 || || zegar czasu rzeczywistego Amepolu | |||
|- style="background: Cornsilk;" | |||
| 0x002f || ADGUN || 1 || || Numer systemowy jednostki grupowej monitorów ekranowych | |||
|- style="background: Cornsilk;" | |||
| 0x0030 || SETDEV || 15 || || końcówki | |||
|- | |||
| colspan=5 | Koniec tablicy konfiguracji MERY-400 | |||
|- style="background: Pink;" | |- style="background: Pink;" | ||
| 0x0040 || || 32 || || [[Przerwania]] | | 0x0040 || || 32 || || [[Przerwania]] | ||
Linia 52: | Linia 79: | ||
| 0x0061 || STACK || 1 || 0x2ffc || adres stosu | | 0x0061 || STACK || 1 || 0x2ffc || adres stosu | ||
|- style="background: Pink;" | |- style="background: Pink;" | ||
| 0x0062 || BPROG || 1 || TW || | | 0x0062 || BPROG || 1 || TW || Bieżący PROGram (wskaźnik na kontekst bieżącego procesu) | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x0063 || D2M5 || 1 || || kwant podziału winchestera | | 0x0063 || D2M5 || 1 || || [[Tablica opisu dysków WINCHESTER|kwant podziału winchestera]] | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x0064 || TATYWI || 4 || || [[Tablica opisu dysków WINCHESTER|TAblica TYpów WInchesterów]] | | 0x0064 || TATYWI || 4 || || [[Tablica opisu dysków WINCHESTER|TAblica TYpów WInchesterów]] | ||
Linia 60: | Linia 87: | ||
| 0x0068 || ADRPRK || 4 || || [[Tablica opisu dysków WINCHESTER|ADResy PaRKingowe]] | | 0x0068 || ADRPRK || 4 || || [[Tablica opisu dysków WINCHESTER|ADResy PaRKingowe]] | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x006c || CONSUM || 1 || || suma kontrolna jądra | | 0x006c || CONSUM || 1 || || suma kontrolna jądra (CONtrol SUM) | ||
|- style="background: Lavender;" | |||
| 0x006d || CHCS || || || procedura licząca sumę kontrolną jądra (CHeck Control Sum) | |||
|- style="background: Lavender;" | |||
| 0x0088 || STOP1R || || || tracenie czasu | |||
|- style="background: Lavender;" | |||
| 0x009a || START || || || start jądra | |||
|- style="background: Lavender;" | |||
| 0x00a1 || ST0 || || || konfiguracja pamięci | |||
|- style="background: Lavender;" | |||
| 0x00db || SL0 || || || wstępna inicjalizacja obszarów pamięci | |||
|- style="background: Lavender;" | |||
| 0x0104 || || || || rozpoznanie dysków podłączonych do maszyny | |||
|- style="background: Lavender;" | |||
| 0x0171 || NMASK || 1 || 0xf000 || kod instrukcji "JP(TAKE)" wykorzystywany w niekonwencjonalny sposób (do ustawiania Q,NB i maskowania przerwań) | |||
|- style="background: Lavender;" | |||
| 0x01e9 || EXIT || || || wyjście ze schedulera? (przywróc rejestry i wektor stanu, uruchom proces) | |||
|- style="background: Lavender;" | |||
| 0x020d || EXIX || || || "załaduj" bieżący proces (wyjście z przerwania?) | |||
|- style="background: Lavender;" | |||
| 0x0231 || TAKE || || || wejście do schedulera? (TAKE process?) | |||
|- | |||
| colspan=5 | ... | |||
|- style="background: Lavender;" | |||
| 0x0368 || CLOCK || || || obsługa przerwania timera | |||
|- style="background: Pink;" | |||
| 0x0510 || TABSIN || 6 || HANGDV, IN1X...IN5X || podprocedury obsługi dla SINT | |||
|- style="background: Lavender;" | |||
| 0x054d || INSTX || 1 || || obsługa przerwania instrukcji nielegalnej (w tym SINT) | |||
|- | |- | ||
| ... || || || || | | colspan=5 | ... | ||
|- style="background: Pink;" | |||
| 0x059e || TABEXL || 65 || || TABlica EXtrakodów | |||
|- style="background: Lavender;" | |||
| 0x05eb || QEXIT || || || wybranie następnego procesu do uruchomienia (Queue and EXIT?) | |||
|- style="background: Lavender;" | |||
| 0x101f || GENAD || || || GENerator ADresów (losowych) dla "niszczarki" pamięci | |||
|- style="background: Lavender;" | |||
| 0x1049 || GENOB || || || funkcja do mieszania identyfikatora systemu | |||
|- style="background: Lavender;" | |||
| 0x113f || PLXINX || || || PLiX INterrupt - obsługa przerwania z PLIX-a (MULTIX-a) | |||
|- style="background: Lavender;" | |||
| 0x1143 || MUXINX || || || MUltiX INterrupt - obsługa przerwania z MULTIX-a | |||
|- style="background: Lavender;" | |||
| 0x1195 || TOK || || || Transmisja OK | |||
|- style="background: Lavender;" | |||
| 0x11b2 || WDL || || || Wykonano Dołącz Linię | |||
|- style="background: Lavender;" | |||
| 0x11c7 || WZM || || || Wykonano Zerowanie Multixa | |||
|- style="background: Lavender;" | |||
| 0x11cf || OUKM || || || OUtput Konfiguracja Multix-a | |||
|- style="background: Lavender;" | |||
| 0x11d7 || WUK || || || Wykonano Ustaw Konfigurację | |||
|- style="background: Lavender;" | |||
| 0x11ea || OUDL || || || OUtput Dołącz Linię | |||
|- style="background: Cornsilk;" | |||
| 0x11f9 || DLPLIX || || || pole sterujące Dołącz Linię PLIX-a | |||
|- style="background: Pink;" | |- style="background: Pink;" | ||
| | | 0x11fc || TAMXIN || 35 || || TAble MultiX INterrupts (adresy procedur dla przerwań z multixa - ze specyfikacji przerwania) | ||
|- style="background: Cornsilk;" | |||
| 0x121f || TABWIN || 4 || || | |||
|- style="background: Cornsilk;" | |||
| 0x1223 || WINERR || 17 || || | |||
|- style="background: Lavender;" | |||
| 0x123f || MUXWIN || 35 || || MUltiX WINchester (weście do konfiguracji winchestera) | |||
|- style="background: Lavender;" | |||
| 0x15e4 || TAFLOP || || || Procedura sprawdzająca, czy obsłużono przerwanie, na które czekał bieżący proces | |||
|- style="background: Lavender;" | |||
| 0x21bc || COPSY0 || || || COPy SYstem - procedura kopiujaca system do obszaru docelowego (uruchamia się jeśli uruchomić zassemblowane jądro) | |||
|- style="background: Lavender;" | |||
| 0x220b || OSTART || || || "START" po doładowaniu dalszej części jądra | |||
|- style="background: Lavender;" | |||
| 0x2220 || INIC || || || Multix poprawnie zresetowany (programowo) | |||
|- style="background: Lavender;" | |||
| 0x2249 || LOM || || || Dokonfigurowanie pamięci: 3 i 4 segment | |||
|- style="background: Lavender;" | |||
| 0x226b || ZER || || || ZERowanie segmentu od 0x5000 | |||
|- style="background: Lavender;" | |||
| 0x22ac || || || || Sprawdzenie sumy kontrolnej jądra | |||
|- | |- | ||
| ... | | colspan=5 | ... | ||
|- | |- | ||
| 0x280e || ABIN || TERM = 56 || || | | 0x280e || ABIN || TERM=56 || || | ||
|- | |- | ||
| 0x2846 || QJW || NOQ || || | | 0x2846 || QJW || NOQ=16 || || | ||
|- | |- | ||
| 0x2856 || JOBMEM || | | 0x2856 || JOBMEM || 1 || || LISTA PROC Z PAO DO ODEBRANIA | ||
|- | |- | ||
| 0x2857 || FREMEM || | | 0x2857 || FREMEM || 1 || || LISTA WOLNEJ PAO | ||
|- | |- | ||
| 0x2858 || BUFMEM || | | 0x2858 || BUFMEM || 1 || || LISTA 4K - BUFOROW | ||
|- | |- | ||
| 0x2859 || RAMDIS || | | 0x2859 || RAMDIS || 1 || || lista zbiorow RAM\ | ||
|- | |- | ||
| 0x285a || PROCNU || | | 0x285a || PROCNU || 1 || || NUMER PROCESORA (unikalny identyfikator systemu) | ||
|- | |- | ||
| 0x285b || PGRFX || | | 0x285b || PGRFX || 1 || || LISTA DLA GRF | ||
|- | |- | ||
| 0x285c || LAST || | | 0x285c || LAST || 1 || || GENERATOR (adresów pseudolosowych) | ||
|- | |- | ||
| 0x285d || SCLK || | | 0x285d || SCLK || 1 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x285e || YEAR || | | 0x285e || YEAR || 1 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x285f || DAYS || 2 || || | | 0x285f || DAYS || 2 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2861 || HOURS || | | 0x2861 || HOURS || 3 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2864 || SEC || || || | | 0x2864 || SEC || 1 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2865 || CSEC || || || | | 0x2865 || CSEC || 1 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2866 || DSEC || || || | | 0x2866 || DSEC || 1 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2867 || MSEC || || || | | 0x2867 || MSEC || 1 || || aktualna ilość "tyknięć" timera do obudzenia schedulera (odlicza od BMSEC do 0) | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2868 || BCSEC || || || | | 0x2868 || BCSEC || 1 || || | ||
|- style="background: Cornsilk;" | |- style="background: Cornsilk;" | ||
| 0x2869 || BMSEC || || || | | 0x2869 || BMSEC || 1 || -10 || przerwanie timera budzi scheduler 10x rzadziej | ||
|- | |- | ||
| 0x286a || CQJTST || || || | | 0x286a || CQJTST || 1 || || | ||
|- | |- | ||
| 0x286b || WRCS || | | 0x286b || WRCS || 1 || || odtąd aż do ADINI0 - zerowane przy starcie | ||
|- | |- | ||
| 0x286c || NUCLK || || || | | 0x286c || NUCLK || 1 || || | ||
|- | |- | ||
| 0x286d || LCLK || || || | | 0x286d || LCLK || 1 || || | ||
|- | |- | ||
| 0x286e || ACLK || || || | | 0x286e || ACLK || 1 || || | ||
|- | |- | ||
| 0x286f || PAXREG || 7 || || | | 0x286f || PAXREG || 7 || || | ||
|- | |- | ||
| 0x2876 || ARTABL || ILAR*4 = 60 || || METRYKI TALERZY | | 0x2876 || ARTABL || ILAR*4=60 || || METRYKI TALERZY | ||
|- | |- | ||
| 0x28b2 || TABND || ILAR = 15 || || NAZWY TALARZY | | 0x28b2 || TABND || ILAR=15 || || NAZWY TALARZY | ||
|- | |- | ||
| 0x28c1 || TABAD || ILAR = 15 || || TABLICA OFSETOW | | 0x28c1 || TABAD || ILAR=15 || || TABLICA OFSETOW | ||
|- | |- | ||
| 0x28d0 || ADSNET || || || | | 0x28d0 || ADSNET || 1 || || | ||
|- | |- | ||
| 0x28d1 || INNET || 2 || || | | 0x28d1 || INNET || 2 || || | ||
Linia 130: | Linia 231: | ||
| 0x28d3 || NETEN || 2 || || | | 0x28d3 || NETEN || 2 || || | ||
|- | |- | ||
| 0x28d5 || ENGCAM || NOCAM+1 || || | | 0x28d5 || ENGCAM || NOCAM+1=5 || || | ||
|- | |- | ||
| 0x28da || WORCAT || || || | | 0x28da || WORCAT || 1 || || | ||
|- | |- | ||
| 0x28db || ROBCOR || || || KOM ROBOCZA DLA SIN+T.CORALE. | | 0x28db || ROBCOR || 1 || || KOM ROBOCZA DLA SIN+T.CORALE. | ||
|- | |- | ||
| 0x28dc || ROBMEM || 7 || || | | 0x28dc || ROBMEM || 7 || || | ||
Linia 140: | Linia 241: | ||
| 0x28e3 || FIR || 14 || || | | 0x28e3 || FIR || 14 || || | ||
|- | |- | ||
| 0x28e9 || REJM || || || | | 0x28e9 || REJM || 7 || || zawiera się w FIR (FIR+6) | ||
|- | |- | ||
| 0x28f1 || TSEXL || 12 || || | | 0x28f1 || TSEXL || 12 || || | ||
|- | |- | ||
| 0x28f8 || NMFIL || || || | | 0x28f8 || NMFIL || 5 || || zawiera się w TSEXL (TSEXL+7) | ||
|- | |- | ||
| 0x28fd || STATFI || || || | | 0x28fd || STATFI || 2 || || STATYSTYKA ZBIOROWA | ||
|- | |- | ||
| 0x28ff || ADBFCH || || || | | 0x28ff || ADBFCH || 1 || || | ||
|- style="background: Pink;" | |||
| 0x2900 || AUKMX || 1 || || Adres Ustaw Konfigurację MultiX-a? | |||
|- style="background: Pink;" | |||
| 0x2901 || AUKPLX || 1 || 0x2f85 || Adres Ustaw Konfigurację PLiX-a? | |||
|- | |- | ||
| | | 0x2902 || CHRMUX || 1 || || | ||
|- | |- | ||
| | | 0x2903 || MUXDIS || 1 || || | ||
|- | |- | ||
| | | 0x2904 || MUXTAP || 1 || || | ||
|- | |- | ||
| | | 0x2905 || MUXFLP || 1 || || | ||
|- | |- | ||
| | | 0x2906 || MUXPLX || 1 || || | ||
|- | |- | ||
| 0x2907 || LWINCH || 1 || || | |||
| 0x2907 || LWINCH || || || | |||
|- | |- | ||
| 0x2908 || MUXWRK || 2 || || | | 0x2908 || MUXWRK || 2 || || | ||
|- | |- | ||
| 0x290a || ZERMLX || || || | | 0x290a || ZERMLX || 1 || || | ||
|- style="background: Cornsilk;" | |||
| 0x290b || TW || PIOR+1=14 || || Fragment struktury opisującej proces. Kontekst procesu tracenia czasu? (Time Wait?) | |||
|- style="background: Pink;" | |||
| 0x2919 || ADINI || 1 || 0x2fc5 || Adres INI (procesu pierwotnego)? (początek listy procesów aktywnych?) | |||
|- style="background: Pink;" | |||
| 0x291a || ADGUP || 1 || || Adres czegoś związanego z jednostką grupową monitorów ekranowych? | |||
|- style="background: Pink;" | |||
| 0x291b || FREES || 1 || || Adres pierwszego wolnego slotu w tablicy procesów | |||
|- | |- | ||
| | | 0x291c || FSART || 1 || || | ||
|- | |- | ||
| | | 0x291d || FSFT || 1 || || | ||
|- | |- | ||
| | | 0x291e || FLBS || 1 || || | ||
|- | |- | ||
| | | 0x291f || FSBS || 1 || || | ||
|- | |- | ||
| 0x2920 || ASYBUF || 1 || || | |||
| 0x2920 || ASYBUF || || || | |||
|- | |- | ||
| 0x2921 || ASYTAB || 3 || || | | 0x2921 || ASYTAB || 3 || || | ||
|- | |- | ||
| 0x2924 || IECENG || LIEC || || | | 0x2924 || IECENG || LIEC=1 || || | ||
|- | |- | ||
| 0x2925 || IECADR || LIEC || || | | 0x2925 || IECADR || LIEC=1 || || | ||
|- | |- | ||
| 0x2926 || TIECC || || || | | 0x2926 || TIECC || 1 || || | ||
|- | |- | ||
| 0x2927 || DVOF || MEMCH = | | 0x2927 || DVOF || MEMCH=72 || || | ||
|- | |- | ||
| 0x296f || TABMUX || MEMCH = | | 0x296f || TABMUX || MEMCH=72 || || | ||
|- | |- | ||
| 0x29b7 || TABF || MEMCH = | | 0x29b7 || TABF || MEMCH=72 || || | ||
|- | |- | ||
| 0x29ff || ENGDEV || MEMCH+NOMT || || | | 0x29ff || ENGDEV || MEMCH+NOMT=76 || || | ||
|- | |- | ||
| | | 0x2a47 || ENGMT || 4 || || ENGMT jest częścią ENGDEV (ENGDEV+MEMCH) | ||
|- | |- | ||
| 0x2a4b || ST || TERM = 56 || || | | 0x2a4b || ST || TERM=56 || || | ||
|- | |- | ||
| 0x2a83 || DISTAT || 12 || || | | 0x2a83 || DISTAT || 12 || || | ||
|- | |- | ||
| 0x2a8f || JW || JWIEC+8 || || | | 0x2a8f || JW || JWIEC+8=89 || || | ||
|- | |- | ||
| 0x2ae8 || TBAR || 16 || || | | 0x2ae8 || TBAR || 16 || || | ||
|- | |- | ||
| 0x2af8 || SYSTAB || || || | | 0x2af8 || SYSTAB || 1 || || | ||
|- | |- | ||
| 0x2af9 || TMEBEG || || || | | 0x2af9 || TMEBEG || 1 || || | ||
|- | |- | ||
| 0x2afa || TMEEND || || || | | 0x2afa || TMEEND || 1 || || | ||
|- | |- | ||
| 0x2afb || NOMEMB || || || | | 0x2afb || NOMEMB || || || | ||
|- | |- | ||
| colspan=5 | ... | | colspan=5 | ... | ||
|- style="background: Cornsilk;" | |||
| 0x2f85 || *AUKPLX || 64 || || | |||
|- style="background: Cornsilk;" | |||
| 0x2fc5 || *ADINI || TABUJB=55 || || Kontekst procesu pierwotnego INI? | |||
|- style="background: Cornsilk;" | |||
| 0x2ffc || *STACK || 4 || || Stos systemowy (początkowo ADINI0) | |||
|- | |- | ||
| | | 0x2fff || || || || ostatnie słowo 3. segmentu 4k | ||
|- | |- | ||
| | | colspan=5 | ... | ||
|- | |- style="background: Lavender;" | ||
| | | 0x6398 || LCL3 || || || Ładowanie numeru zegara (system ID) z zegara czasu rzeczywistego | ||
|} | |} | ||
{{source|title=Opracowanie własne}} |
Aktualna wersja na dzień 16:44, 27 lut 2016
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 |
Dane (zmienna, stała, struktura) |
Adres (wskaźnik) |
Kod (procedura, funkcja, etykieta) |
Adres | Etykieta | Długość | Zawartość | Opis |
---|---|---|---|---|
0x0002 | DUMTIM | 1 | ? | |
0x0003 | ENDSYS | 1 | AEOV0=0x1600 | koniec właściwiej części systemu (przed nakładkami?) |
Tablica konfiguracji MERY-400 | ||||
0x0004 | NOBUFF | 3 | starszy bajt: różne, młodszy bajt: Number Of BUFFers (liczba buforów systemowych) | |
0x0007 | SYSSET | 1 | SYStem SETtings? (ilość pamięci dla systemu, długość buforów końcówek) | |
0x0008 | TABMEM | 8 | TABlica konfiguracji pamięci (MEMory) | |
0x0010 | TABDIN | 16 | adresy talerzy dyskowych | |
0x0020 | TABMT | 4 | pamięci taśmowe | |
0x0024 | CAMINI | 2 | adres CAMAC | |
0x0026 | PIINI | 2 | adres PI | |
0x0027 | IECINI | 2 | adres IEC | |
0x0028 | TABCHL | 5 | TABle CHanneL - tablica kanałów | |
0x002d | ADNET | 1 | ADress NETwork - adres szybkiego łącza | |
0x002e | TABCLK | 1 | zegar czasu rzeczywistego Amepolu | |
0x002f | ADGUN | 1 | Numer systemowy jednostki grupowej monitorów ekranowych | |
0x0030 | SETDEV | 15 | końcówki | |
Koniec tablicy 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 kontekst bieżącego procesu) |
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) | ||
0x0088 | STOP1R | tracenie czasu | ||
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? (przywróc rejestry i wektor stanu, uruchom proces) | ||
0x020d | EXIX | "załaduj" bieżący proces (wyjście z przerwania?) | ||
0x0231 | TAKE | wejście do schedulera? (TAKE process?) | ||
... | ||||
0x0368 | CLOCK | obsługa przerwania timera | ||
0x0510 | TABSIN | 6 | HANGDV, IN1X...IN5X | podprocedury obsługi dla SINT |
0x054d | INSTX | 1 | obsługa przerwania instrukcji nielegalnej (w tym SINT) | |
... | ||||
0x059e | TABEXL | 65 | TABlica EXtrakodów | |
0x05eb | QEXIT | wybranie następnego procesu do uruchomienia (Queue and EXIT?) | ||
0x101f | GENAD | GENerator ADresów (losowych) dla "niszczarki" pamięci | ||
0x1049 | GENOB | funkcja do mieszania identyfikatora systemu | ||
0x113f | PLXINX | PLiX INterrupt - obsługa przerwania z PLIX-a (MULTIX-a) | ||
0x1143 | MUXINX | MUltiX INterrupt - obsługa przerwania z MULTIX-a | ||
0x1195 | TOK | Transmisja OK | ||
0x11b2 | WDL | Wykonano Dołącz Linię | ||
0x11c7 | WZM | Wykonano Zerowanie Multixa | ||
0x11cf | OUKM | OUtput Konfiguracja Multix-a | ||
0x11d7 | WUK | Wykonano Ustaw Konfigurację | ||
0x11ea | OUDL | OUtput Dołącz Linię | ||
0x11f9 | DLPLIX | pole sterujące Dołącz Linię PLIX-a | ||
0x11fc | TAMXIN | 35 | TAble MultiX INterrupts (adresy procedur dla przerwań z multixa - ze specyfikacji przerwania) | |
0x121f | TABWIN | 4 | ||
0x1223 | WINERR | 17 | ||
0x123f | MUXWIN | 35 | MUltiX WINchester (weście do konfiguracji winchestera) | |
0x15e4 | TAFLOP | Procedura sprawdzająca, czy obsłużono przerwanie, na które czekał bieżący proces | ||
0x21bc | COPSY0 | COPy SYstem - procedura kopiujaca system do obszaru docelowego (uruchamia się jeśli uruchomić zassemblowane jądro) | ||
0x220b | OSTART | "START" po doładowaniu dalszej części jądra | ||
0x2220 | INIC | Multix poprawnie zresetowany (programowo) | ||
0x2249 | LOM | Dokonfigurowanie pamięci: 3 i 4 segment | ||
0x226b | ZER | ZERowanie segmentu od 0x5000 | ||
0x22ac | Sprawdzenie sumy kontrolnej jądra | |||
... | ||||
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 (unikalny identyfikator systemu) | |
0x285b | PGRFX | 1 | LISTA DLA GRF | |
0x285c | LAST | 1 | GENERATOR (adresów pseudolosowych) | |
0x285d | SCLK | 1 | ||
0x285e | YEAR | 1 | ||
0x285f | DAYS | 2 | ||
0x2861 | HOURS | 3 | ||
0x2864 | SEC | 1 | ||
0x2865 | CSEC | 1 | ||
0x2866 | DSEC | 1 | ||
0x2867 | MSEC | 1 | aktualna ilość "tyknięć" timera do obudzenia schedulera (odlicza od BMSEC do 0) | |
0x2868 | BCSEC | 1 | ||
0x2869 | BMSEC | 1 | -10 | przerwanie timera budzi scheduler 10x rzadziej |
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 | zawiera 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 | Adres Ustaw Konfigurację MultiX-a? | |
0x2901 | AUKPLX | 1 | 0x2f85 | Adres Ustaw Konfigurację PLiX-a? |
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. Kontekst procesu tracenia czasu? (Time Wait?) | |
0x2919 | ADINI | 1 | 0x2fc5 | Adres INI (procesu pierwotnego)? (początek listy procesów aktywnych?) |
0x291a | ADGUP | 1 | Adres czegoś związanego z jednostką grupową monitorów ekranowych? | |
0x291b | FREES | 1 | Adres pierwszego wolnego slotu w tablicy procesów | |
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 | |||
... | ||||
0x2f85 | *AUKPLX | 64 | ||
0x2fc5 | *ADINI | TABUJB=55 | Kontekst procesu pierwotnego INI? | |
0x2ffc | *STACK | 4 | Stos systemowy (początkowo ADINI0) | |
0x2fff | ostatnie słowo 3. segmentu 4k | |||
... | ||||
0x6398 | LCL3 | Ładowanie numeru zegara (system ID) z zegara czasu rzeczywistego |
Źródło: Opracowanie własne