144 Strojni jezik za procesor Z80 DEC: M. sNaslov naslednjega zloga na levi. RL K(HL) ;Pomakni zlog v levo. V desni bit z(bit O) pride bit prenosa iz prej- ;šnjega pomika, tj. bit 7 sosednje- sga zloga. V bit prenosa se nato ;prenese bit 7 zloga, ki ga zdaj zpremikamo. DEC. HL sNaslednji zlog proti levi RU (HI) sin še en pomik, nato pa... DEC B ; 5 »..V naslednjo vrstico navzdol. LD A,4STEVC2) DEC A. sSe Je že Nppremaknila vsa figura? JR NZ, ZAN4 zČe se še ni, ponovi zanko. POR BE slik se Jje pomaknil v levo, zato DEC C szmanjšaj koordinato x za 1. LD A, (STEVC1) sSe je pomik že ponovil osemkrat? DEC A JR NZ, LV sČe se še ni, ga ponovi, sicer... RET H »». Se vrni v glavno zanko. Podprograma za premik v desno in navzdol sta sestavljena povsem podobno. Da se ne bomo preveč zamudili, se zato zdaj ob njiju ne bomo ustavljali. S potrebnimi opombami vred ju bomo vključili v končni zapis. Zdaj pa vzemimo v precep podprogram, ki uravnava gibanje metulja. ME TULJ EXX 3sPodatke o metulju smo naložili v szamenljivi registrski niz. PUSH HL sTo vrednost moramo shraniti za znemoten povratek v basic (gl. spoglavje o menjavi registrov). LUD RE, GIB 5sV rezerviranem zlogu GIB bomo sžteli zamahe kril. Preden se sme smetulj premakniti drugam na ekranu zse morajo zvrstiti vse 4 sličice. sZlogu (GIB bomo dali vrednost 4 in znato odštevali. Ko bodo opravljeni svsi štirje gibi (tj. ko bo vred- DEC €KHL) snost zloga GIB O), bomo poklicali CALL Z, KAM zpodprogram KAM, ki bo premikal zmetulja po zaslonu. kar se Janezek nauči... 145 Zamah metuljevih kril sestavljajo štiri slike, vsaka ima velikost 16 % 1646 točk oziroma bitov. Če preračunamo, znese to 128 zlogov. Da jih bomo lahko prenašali na zaslon, jih bomo morali ' shraniti. nekje v pomnilniku. Točen naslov bomo določili kasneje, za zdaj ga imenujmo LIKI2. Cisto na začetku bomo dali vrednost LIKI2 v par DE zamenl jivega niza. LD A, 16 sPripravi števec PUSH »:BC zin shrani koordinate metulja. RACUN PUSH AF ;Stevec bomo spravili kar na sklad. PUSH -DE zShrani naslov s katerega prenašamo CALL NASLOV smetul jevo podobo in izračunaj na- POP DE zslov metul jevega zloga na zaslonu. LD A, KDE) 3sPrenesi s pomočjo registra A zlog ED. (HLI, A zslike iz pomnilnika na ekran. INC DE ;To sta naslova za... INC HL 5 < ». »desni zlog. UD A, (DE) sPrenesi ustrezni zlog iz LD <€