Vlákno názorů k článku Ovládání hráčů ve hře klávesnicí nebo joystickem na ZX Spectru od _dw - Me to ukazuje u kapitoly 4 a 6...

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 5. 2023 1:32

    _dw

    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.

  • 25. 5. 2023 8:22

    atarist

    njn textova makra ala c-cko :-p tam se naseka chyb