.include "m32def.inc" ; redefinirea registrilor .def flags = r2 .def tmpL = r16 .def tmpH = r17 .def cntL = r26 .def cntH = r27 .cseg ; segmentul de cod .org 0x0000 rjmp RESET ; Salt neconditionat .org INT0addr ; External Interrupt0 Vector Address rjmp INCREMENT .org INT1addr ; External Interrupt1 Vector Address rjmp DECREMENT .org INT2addr ; External Interrupt2 Vector Address reti .org OC2addr ; Output Compare2 Interrupt Vector Address reti .org OVF2addr ; Overflow2 Interrupt Vector Address reti .org ICP1addr ; Input Capture1 Interrupt Vector Address reti .org OC1Aaddr ; Output Compare1A Interrupt Vector Address reti .org OC1Baddr ; Output Compare1B Interrupt Vector Address reti .org OVF1addr ; Overflow1 Interrupt Vector Address reti .org OC0addr ; Output Compare0 Interrupt Vector Address reti .org OVF0addr ; Overflow0 Interrupt Vector Address reti .org SPIaddr ; SPI Interrupt Vector Address reti .org URXCaddr ; USART Receive Complete Interrupt Vector Address reti .org UDREaddr ; USART Data Register Empty Interrupt Vector Address reti .org UTXCaddr ; USART Transmit Complete Interrupt Vector Address reti .org ADCCaddr ; ADC Interrupt Vector Address reti .org ERDYaddr ; EEPROM Interrupt Vector Address reti .org ACIaddr ; Analog Comparator Interrupt Vector Address reti .org TWIaddr ; Irq. vector address for Two-Wire Interface reti .org SPMRaddr ; Store Program Memory Ready Interrupt Vector Address reti //--------------------------------------------------------------- INCREMENT: ;Subrutina de prelucrare a intreruperii ; comenzi pentru subruta data in flags, SREG ADIW cntL,1 out PORTB, cntL out PORTC, cntH out SREG, flags reti //--------------------------------------------------------------- DECREMENT: ;Subrutina de prelucrare a intreruperii ; comenzi pentru subruta data in flags, SREG SBIW cntL,1 out PORTB, cntL out PORTC, cntH out SREG, flags reti ; Programul principal //-------------------------------------------------------------- RESET: ldi temp, Low(RAMEND) ; initializam stiva out SPL, temp ldi temp, High(RAMEND) out SPH, temp CLR temp ;resetam temp out DDRA, temp ; Setam ca intrare PORTA out DDRD, temp ; Setam ca intrare PORTD SER temp out DDRB, temp ; Setam ca iesire PORTB out DDRC, temp ; Setam ca iesire PORTC ldi temp, (0<