plot
This is an old revision of the document!
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
plot.1388258368.txt.gz · Last modified: 2013/12/28 20:19 by noby
