Помогите разобраться с кодом
Пожайлуста , объясните ламеру какая комманда что делает.
Программа atmega8535 avr studio:
.include"8535def.inc"
;инициализация регистров и констант
.def temp = r16
.def a = r17
.def b = r18
.def c = r19
.equ vd1 = 0b00000010
.equ vd2 = 0b00000001
.equ end = 0b00000011
start:
;инициализация стека
ldi temp, low(ramend);
out spl, temp;
ldi temp, high(ramend);
out sph, temp;
;Отключение сторожевого таймера
ldi temp, 0b00011000
out wdtcr, temp
ldi temp, 0b00010000
out wdtcr, temp
;Инициализация порта В
ldi temp, 0b00000011
out ddrb, temp
ldi temp, 0b11101111
out pina, temp
;sbis portb, end
;rjmp zader
cycle:
ldi temp, vd1
out portb, temp
rcall zader
ldi temp, vd2
out portb, temp
rcall zader
sbis pina, pa4 ; ждать пока на вход ра4 порта А
rjmp cycle ; не придет "1"
;Гашение светодиодов
ldi temp, end
out portb, temp
n25:
rjmp n25
;подпрограмма задержки
zader:
ldi a, 6
m3:
ldi b, 255
m2:
ldi c, 255
m1:
dec c
brne m1
dec b
brne m2
dec a
brne m3
ret
Подскажите за что отвечает ddrb и где пишется какие разряды на вход какие на выход , и хотелось бы узнать где тут прописаны ножки на которые выводить сигнал на светодиоды.Программа мигает двумя светодиодами до нажатия на кнопку вообщем.Объясните плиз поподробнее о каждой комманде =))