KERNAL

Wikipediasta
Siirry navigaatioon Siirry hakuun
Kernalin hyppytaulua havainnollistava luettelo, jossa käytössä olevat rutiinit, niiden osoitteet, rutiinien käyttämät rekisterit ja lyhyet kuvaukset rutiinien käyttötarkoituksesta.

KERNAL (lyhenne sanoista Keyboard Entry Read, Network, And Link) on Commodoren kehittämä käyttöjärjestelmä, jota käytettiin yhtiön 8-bittisissä mikrotietokoneissa alkaen PET-tietokoneesta (1977).[1] Myöhemmin sen laajennettuja versioita käytettiin VIC-20-, Commodore 64-, Plus/4-, Commodore 16- ja Commodore 128 -tietokoneissa.

VIC-20 ja C-64-koneissa koko käyttöjärjestelmä on 8 kiB ROM-piirillä. Commodore 128 -koneessa ROM on laajennettu 20 kilotavuun, josta KERNAL vie 16 kiB ja konekielimonitori neljä.[2]

Commodore-laitteiden KERNAL sisältää kokoelman erilaisia rutiineja. Näitä varten on kernalissa hyppytaulu, joka on pääpiirteittäin samanlainen kaikissa Commodoren tuottamissa tietokoneissa. Näin ollen yksinkertaisten konekielisten ohjelmien pitäisi pystyä toimimaan jokaisessa Commodoren valmistamassa koneessa ilman muutoksia.

KERNALin tärkeimpiä osia ovat reset-rutiini, joka suoritetaan koneen käynnistyessä. Se kopioi RAM-muistiin vektorit ja aliohjelmat, alustaa I/O- ja grafiikkapiirit, tarkistaa onko koneeseen kytketty ohjelmamoduuli, alustaa BASIC-tulkin ja siirtyy odottamaan käyttäjän syötettä.[2]

KERNAL sisältää myös keskeytysrutiinit, esimerkiksi IRQ-rutiini suoritetaan 60 (VIC-20 ja C-64) tai 50 kertaa sekunnissa (C-128). Tämä ylläpitää kelloa ja lukee näppäimistöä. NMI-rutiini suoritetaan restore-näppäintä painettaessa ja kasetti- ja levyasemarutiinien yhteydessä ja sarjaväylää käytettäessä.[2]

Kolmas osa ovat ovat käyttäjän kutsuttavat aliohjelmarutiinit, joita voidaan käyttää ohjelmista. Näillä toteutetaan tiedon syöttö ja tulostus, tiedostojen tallennus ja lataus, näytön käsittely ja liukulukumatematiikka.[2]

Käytännössä yksinkertaiset, poke-komentoja sisältämättömät BASIC-ohjelmat ovat binääriyhteensopivia eri koneiden välillä. Konekielisiä ohjelmia kirjoitettaessa ohjelmien pitäisi olla vapaasti sijoitettavia ja ne voivat olla kooltaan maksimissaan 3 kilotavua, mikäli niiden on tarkoitus olla yhteensopivia kaikkien Commodoren koneiden kanssa.

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. https://www.c64-wiki.com/wiki/Kernal
  2. a b c d C=lehti 1/88, Käyttöjärjestelmän salat, s. 26

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]