====Plot routines==== ---- PLOT2 ld a,b ;přesuň Y-ovou souřadnici do A and a ;vynuluj příznak CARRY rra ;zarotuj O zleva scf ;nastav příznak CARRY rra ;zarotuj l zleva and a ;vynuluj příznak CARRY rra ;zarotuj O zleva xor b ;nyní do A přidáme spodní tři bity and #F8 ;z původní Y-ové souřadnice xor b ;v A je nyní 64+8*INT(b/64)+(b mod 8) ld h,a ;vyšší byte adresy je tedy připraven ld a,c ;nyní budeme počítat nižší byte adresy rlca ;zarotuj třikrát doleva rlca ;pro správné umístění části Y-ové rlca ;souřadnice mající vliv na nižší byte xor b ;přidáme bity 5,4,3 z Y-ové souřadnice and %11000111 ;místo původních bitů - ty určují polohu xor b ;uvnitř bitu a pro adresu nemají význam rlca ;nyní rotuj ještě dvakrát doleva, rlca ;a takto vytvořený spodní byte ld l,a ;dej do registru L, v HL je nyní adresa ld a,c ;do A dáme ještě polohu bitu uvnitř bytu and 7 ;zde podprogram z ROM končí add a,a ;vynásob získané číslo 8 add a,a add a,a ld b,a ;dej číslo do registru B ld a,254 ;kód instrukce set 7,(hl) do registru A sub b ;odečti osminásobek polohy a takto ld (CODE+1),a ;získaný kód zapiš do instrukce, CODE set 0,(hl) ;kterou okamžitě proveď ret ;vrať se z podprogramu ---- **Navigation: [[general]] . [[math]] . [[graphic]] . [[sound]] . [[system]] . [[other]] . back to [[start]]**