;=======================================================
; Проект 08. Генератор меандра 1 кГц на PB0
; ATmega8, 8 МГц (1 такт = 0,125 мкс). Полупериод 500 мкс
;=======================================================
.include "m8def.inc"

.def    temp = r16
.def    cnt  = r17

.cseg
.org    0x0000
        rjmp    RESET

RESET:
        ldi     temp, low(RAMEND)
        out     SPL, temp
        ldi     temp, high(RAMEND)
        out     SPH, temp
        ldi     temp, (1<<PB0)
        out     DDRB, temp

MAIN:
        sbi     PORTB, PB0
        rcall   HALF                    ; пауза 500 мкс
        cbi     PORTB, PB0
        rcall   HALF
        rjmp    MAIN

;--- ~500 мкс: 1330 тактов, виток цикла 3 такта ---
HALF:
        ldi     cnt, 220
HL:     dec     cnt
        nop
        brne    HL
        ret
