Odpověď na názor

Odpovídáte na názor k článku Stack Overflow chce přežít AI. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 5. 6. 2025 12:51

    bmansvk
            ;----------------------------------------------------------
            ;  Smyčka proběhne přesně 1000× (0x03E8).
            ;  • SP zůstává beze změny.
            ;  • Žádný registr kromě AF se nikdy nemodifikuje.
            ;  • Do A můžete vkládat vlastní práci uvnitř LOOP_BODY.
            ;----------------------------------------------------------
    
            org 0x0000          ; libovolný začátek programu
    
    ;--------------------------
    ; Paměť pro čítač
    ;--------------------------
    COUNTER_LO: db 0           ; nízký bajt
    COUNTER_HI: db 0           ; vysoký bajt
    
    ;--------------------------
    ; Inicializace čítače na 1000 (0x03E8)
    ;--------------------------
            ld   a,0xE8         ; low  byte = 232
            ld   (COUNTER_LO),a
            ld   a,0x03         ; high byte =   3
            ld   (COUNTER_HI),a
    
    ;--------------------------
    ; Hlavní smyčka
    ;--------------------------
    LOOP_START:
            ; --- VLASTNÍ KÓD SMYČKY -------------------------------
    LOOP_BODY:
            nop                 ; sem vložte svou práci
            ; ------------------------------------------------------
    
            ;--- Dekrementace 16-bitového čítače -------------------
            ld   a,(COUNTER_LO) ; A = low
            sub  1              ; A = low-1, nastaví Carry pokud podteklo
            ld   (COUNTER_LO),a
            ld   a,(COUNTER_HI) ; A = high
            sbc  a,0            ; high = high-Carry
            ld   (COUNTER_HI),a
            ;-------------------------------------------------------
    
            ;--- Test, zda čítač dosáhl nuly -----------------------
            or   a              ; high == 0 ? (NZ pokud ≠0)
            jp   nz,LOOP_START  ; pokud high ≠ 0  pokračuj
            ld   a,(COUNTER_LO) ; high je 0, zkontroluj low
            or   a              ; low == 0 ?
            jp   nz,LOOP_START  ; pokud low ≠ 0  pokračuj
            ;-------------------------------------------------------
    
    ;--------------------------
    ; Smyčka skončila – čítač = 0
    ;--------------------------
            ; další kód programu…
    
            jp   $              ; nekonečno, jen pro příklad