138 Strojni jezik za procesor Z280 metulja, ki leta. Dovolj bodo štiri, ki naj izgledajo takole: Zdaj že imamo junaka, metulja in ključe; manjka le še ura. za uro služi stolpec na levi strani zaslona, ki se bo nižal, ko »»BE......HE.. bo čas tekel. ooo ao osooaneeee nona sa ae sose ne oo ooo ao osema sana o ooo ao ooo aosne Naj Kar se Janezek nauči... 139 Pretehtajmo zdaj, kateri deli programa bodo zapisani v strojnem jeziku nin kateri v basicu. Ključi morajo biti razpo- stavljeni naključno. žal funkcija RND, ki jo v ta namen upora- bljamo v basicu, v ROM-u ni zapisana kot podprogram temveč kot del večje zanke. Zato bomo ključe razpostavili iz basica. Prav tako bomo iz basica narisali stolpec ure. Vmesne dele, pri katerih je bistvena hitrost, bomo napisali v strojnem jeziku. Na koncu pa se bomo spet vrnili v basic in z njim zapisali zaključek. Preden se lotimo programa, še dve stvari, s katerima bi se sicer srečali kasneje, a je zaradi lažje razlage bolje da ju raz jasnimo zdaj. Prva je vprašanje, kako bomo uravnavali tek ure. Najenostavneje bo, če uporabimo vrednost, shranjeno v treh zlogih med sistemskimi spremenljivkami. Ta vrednost se ob vsaki prekinitvi (se pravi vsako 1/50 sekunde) poveča za eno. Mi bomo uporabili najnižji zlog na naslovu 23672 (ki se najhitreje spreminja) in po njem uravnali uro. Drugo vprašanje zadeva označevanje položaja figur in njihovo premikanje. Razporeditev naslovov vv zaslonski datoteki ni povsem preprosta - in ker sta Krpan in metulj velika 146 % 16 bitov, je videti to vprašanje še za stopnjo bolj zapleteno. Lepo bi bilo, če bi mogli uporablja- ti običajne koordinate - denimo takšne kot z ukazom PLOT v basicu. Zaslon (natančneje: zgornjih 22 vrst) je razdeljen na 176 vrstic in 256 stolpcev. Koordinati v ukazu PLOT imata zato lahko vrednost od O do 175 (višina < koordinata y) oz. od O do 255 (širina < koordinata x). No, sreča je na naši strani: tudi v strojnih programih lahko uprabljamo te koordinate s pomočjo podprograma PIXEL ADD, ki ga najdemo v ROM-u na naslovu 22AAH (a 8874). V register B naložimo koordinato y (oddal jenost od spodnjega roba zaslona) neke točke (bita), v register C pa pa koordinato x (oddaljenost od levega roba). Po klicu podprograma PIXEL ADD dobimo v paru HL naslov zloga, v katerem je ta točka, v registru A pa njen položaj v zlogu (od O do 7). Podprogram spremeni vrednosti v parih BC in DE. Uporaba podprograma PIXEL ADD je zelo prijetna možnost, zato se kar odločimo zanj. Zaradi tega bo najbolj priročno, če bomo imeli koordinate vse- skozi spravljene v parih BC: v paru BC višino in odmik Krpano- vega položaja, v paru BC izmenjalnega registrskega niza pa višino in odmik metulja. To pa nam nalaga posebno skrb za vre- dnosti v obeh parih BC: spraviti ju bomo morali, kadarkoli bo nevarnost, da se uničita. Zato se kar takoj odločimo za podpro- gramček z imenom NASLOV: