152 Strojni jezik za procesor Z80 V spremenljivki a bomo šteli dosežene točke, spremenljivka hi pa bo hranila najvišjo doseženo vrednost. Stevilo življenj lahko uravnavamo v vrsti 5 s števcem x. Zaenkrat so določena tri življenja. Vrsta 10 napiše na spodnji vrstici zaslona šte- vilo življenj ter točk. V vrstah od 15 do 35 razpostavl jamo ključe. Denimo, da bo začetni položaj Krpana na "PRINT položa- ju" 19,2, metulja pa na 10,15 (vsak zavzame 4 mesta). Na teh mestih ne sme biti ključev - za to skrbita vrstici 25 in 530. Znak "$" v vrsti 35 bomo nadomestili z grafičnim znakom ključa. Vrsta 40 bo postavila stolpec ure (znak "%" bo treba zamenjati z grafičnim črnim kvadratkom) in poklicala glavni del - strojni program. V njem smo ob zaključkih povsod dali paru BC vrednost doseženih točk, kar nam zelo olajša delo v basicu. Ko so pora- bljena vsa življenja, pridejo na vrsto vrste od 50 do 70. Pro- gram shranimo z ukazom SAVE "igra" LINE 90. Z vrsto 90 bomo naložili strojni program ("igra" CODE) ter grafične znake - ključ ter črke č, ž in š ("znaki" CODE). ODMOR Med odmorom smo preizkusili igro (lepo nam je uspela!'), dopolnili potrebne podrobnosti - in pred vami je zdaj dokončni izpis programa s šestnajstiškimi kodi, tako da ga boste lahko vpisali s pomočjo urejevalnika! Najprej so nanizane prave vred- nosti naslovov, ki smo jih do sedaj označevali z imeni: CLOCK EGU 23672 VISURE EODU 31580 VIS EGU 31581 STEVC1 EGOU 31582 STEVC2 EGU 31583 TOCKE EG0U 31584 KLJUC EGU 31586 TESTI EO0U 31587 STKPT HE0U 31588 GIB EGU 31590 STVME EGU 31591 LIKI1 HEOU 31400 LIKI2 HEGU 31432 Kar se Janezek nauči... 153 Pri tistih delih programa, o katerih smo že obširneje govo- rili, se ne bomo več posebej ustavljaii. Z opombami bomo pospremili le na novo dodane ali po testiranju spremenjene vrste. 31600 ED73647B LD (STKPT), SP ;Shranimo vrednost ;skazalca sklada - za zpovratke iz podpro- zgramov v basic. 31604 D9 EXX zVrednosti metuljas 31605 11C87A LD DE, LIKI2 znaslov zlogov slike 3160B 01785F LD BC, 24440 zin koordinate (B » Zi6i1 DY EXX 575, C s 120). 31612 O0100AF LD BC, 44800 sKoordinate ure (B z 31615 ED435C7B LD (VISURE), BC;175, C«0). 3161? 010000 LD BC, O z Začetna vrednost 31622 EDA43607B LD (TOCKE) , BC ;točk. 31626 3ZE0A LD A, 4 zStevec zamahov me- 31628 32667B LD (GIBI, A stuljevih kril. 31631 AF XOR A sz LDA, 0 31632 32677B LD (STVME), A 31635 32637B LD (TESTI), A Z163B 32627B LD (KLJUCI, A 31641 32785C LD (CLOCKI, A 31644 11AB7A LD DE, LIKI1 sNaslov Krpanove 31647 011017 LD BC, 5904 sslike ter koordina- 31650 (C5 PUSH BC ste: B 23, C 16. 31651 ZE1O LD A, 16 z Zanka NAZAJ prenese 31653 FS5 NAZAJ PUSH AF ssliko junaka iz 31654 D5 PUSH DE ;pomnilnika na za- 31655 CD497E CALL NASLOV sslon (tj. nariše 31658 Di POP DE sKrpana). 31659 1A LD A, (DE) Z1660 77 UD (HLI, A 31661 13 INC DE Zl662 23 INC HL 31663 1A LD A, (DE) 31664 77 LD (HLI, A Z1665 13 INC DE 31666 05 DEC B 31667 Fi POP AF