Pokud drzime adresu v HL tak muzeme pouzit efektivnejsi variantu:
plot:
; třetí varianta podprogramu pro vykreslení pixelu
;
; parametry:
; B - x-ová souřadnice (v pixelech)
; C - y-ová souřadnice (v pixelech)
call calc_pixel_address ; výpočet adresy pixelu
call calc_pixel_value ; výpočet ukládané hodnoty
if 0
ld d, (hl) ; 1:7 přečíst původní hodnotu osmice pixelů
or d ; 1:4 použít vypočtenou masku pro nastavení jediného bitu
else
or (hl) ; 1:7 přečíst původní hodnotu osmice pixelů
; použít vypočtenou masku pro nastavení jediného bitu
endif
ld (hl), a ; zápis hodnoty pixelu (ostatních sedm pixelů se nezmění)
ret ; návrat z podprogramu