Me to ukazuje u kapitoly 4 a 6 velikost programu o bajt vice.
Poznámka: velikost přeloženého strojového kódu klesla na 78 bajtů oproti původním 86 bajtům.
Viz ty vypisy:
8056:C9 RET 8057: END 8000 Emiting TAP basic loader Emiting TAP from 8000 to 8056
804E:C9 RET 804F: END 8000 Emiting TAP basic loader Emiting TAP from 8000 to 804E
Zacina to na nule.
Dalsi 4 bajty jde srazit prepsanim tech make add a sub:
add_to_hl MACRO value
ld b, 0 ; 2:7
ld c, value ; 2:7
add hl, bc ; 1:11
ENDM
sub_from_hl MACRO value
ld b, 0 ; 2:7
ld c, value ; 2:7
or a ; 1:4 vynulovat carry
sbc hl, bc ; 2:15
ENDM
add_to_hl MACRO value
ld bc, value ; 3:10
add hl, bc ; 1:11
ENDM
sub_from_hl MACRO value
ld bc,-(value) ; 3:10
add hl, bc ; 1:11
ENDM
To divne -(value) je kvuli tomu kdyby se to volalo treba jako "sub_from_hl 16+16". Vyhrano ale nemame, protoze to jde jeste zkazit uvodnim minuskem, napriklad "sub_from_hl -2+34" se prelozi jako -36 -> pricte 36.