lxi h,0 ; uschovat obsah registru SP dad sp shld sp_temp lhld height4 ; načíst pozici postavičky lxi d,i_mano ; adresa předlohy postavičky lxi sp,-(19*64) ; konstanta posunu v ose Y ; během kreslení do videoram mvi b,4 ; celkem 4 průchody obrázkem loop4: ldax d ; načíst bajt předlohy inx d ; a posun na další bajt mov m,a ; zápis do videoram (X=0,Y=0) inr l ; posun doprava ldax d inx d mov m,a ; zápis do videoram (X=1,Y=0) inr l ; posun doprava ldax d inx d mov m,a ; zápis do videoram (X=2,Y=0) inr h ; posun dolů o 4 mikrořádky ldax d inx d mov m,a ; zápis do videoram (X=2,Y=4) dcr l ; posun doleva ldax d inx d mov m,a ; zápis do videoram (X=1,Y=4) dcr l ; posun doleva ldax d inx d mov m,a ; zápis do videoram (X=0,Y=4) inr h ; posun dolů o 4 mikrořádky ldax d inx d mov m,a ; zápis do videoram (X=0,Y=8) inr l ; posun doprava ldax d inx d mov m,a ; zápis do videoram (X=1,Y=8) inr l ; posun doprava ldax d inx d mov m,a ; zápis do videoram (X=2,Y=8) inr h ; posun dolů o 4 mikrořádky ldax d inx d mov m,a ; zápis do videoram (X=2,Y=12) dcr l ; posun doleva ldax d inx d mov m,a ; zápis do videoram (X=1,Y=12) dcr l ; posun doleva ldax d inx d mov m,a ; zápis do videoram (X=0,Y=12) inr h ; posun dolů o 4 mikrořádky ldax d inx d mov m,a ; zápis do videoram (X=0,Y=16) inr l ; posun doprava ldax d inx d mov m,a ; zápis do videoram (X=1,Y=16) inr l ; posun doprava ldax d inx d mov m,a ; zápis do videoram (X=2,Y=16) inr h ; posun dolů o 4 mikrořádky ldax d inx d mov m,a ; zápis do videoram (X=2,Y=20) dcr l ; posun doleva ldax d inx d mov m,a ; zápis do videoram (X=1,Y=20) dcr l ; posun doleva ldax d inx d mov m,a ; zápis do videoram (X=0,Y=20) dad sp ; posun vlevo nahoru (dY=-19) dcr b ; snížit počitadlo mikrořádků jnz loop4 ; nebyl poslední => next lhld sp_temp ; jinak obnovit obsah sphl ; registru SP