Witam,
Od dwóch dni walcze z problemem w prostym programie, opisze krótko jego dzialanie - przy kazdym przerwaniu powinien zwiekszyc wartosc rejestru "num_counter" i wystawic go na port B jednak gdzies lezy blad i program wraca do etykiety start która inicjuje kontroler i dodatkowo kasuje ten rejestr, z pozoru wszystko jest OK ale uklad dziala jak opisalem, HELP !
Z góry dzieki za pomoc
;*************************************************************************** .include "2313def.inc"
.def STATUS_REG =R0
.def TEMP =R16 .def num_counter =R24
.cseg
.org $0000 rjmp start
.org INT0addr rjmp ext_int0
start: ldi TEMP,$50 out SPL,TEMP
ldi TEMP,(1<<ISC01)|(1<<ISC00) out MCUCR,TEMP
ldi TEMP,$FF out DDRB,TEMP
ldi TEMP,(1<<INT0) out GIMSK,TEMP
clr TEMP mov num_counter,TEMP
sei
MAIN_LOOP:
rjmp MAIN_LOOP
ext_int0: in STATUS_REG,SREG out PORTB,num_counter inc num_counter out SREG,STATUS_REG reti