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.