Rev 64 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
;***************************************************************************;* A P P L I C A T I O N N O T E F O R T H E A V R F A M I L Y;*;* Number : AVR000;* File Name : "m128def.inc";* Title : Register/Bit Definitions for the ATmega128;* Date : 07.09.2001;* Version : 1.0;* Support E-mail : avr@atmel.no;* Target MCU : ATmega128;*;* DESCRIPTION;* When including this file in the assembly program file, all I/O register;* names and I/O register bit names appearing in the data book can be used.;* In addition, the six registers forming the three data pointers X, Y and;* Z have been assigned names XL - ZH. Highest RAM address for Internal;* SRAM is also defined;*;* The Register names are represented by their hexadecimal address.;*;* The Register Bit names are represented by their bit number (0-7).;*;* Please observe the difference in using the bit names with instructions;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc";* (skip if bit in register set/cleared). The following example illustrates;* this:;*;* in r16,PORTB ;read PORTB latch;* sbr r16,(1<<PB6)+(1<<PB5) ;set PB6 and PB5 (use masks, not bit#);* out PORTB,r16 ;output to PORTB;*;* in r16,TIFR ;read the Timer Interrupt Flag Register;* sbrc r16,TOV0 ;test the overflow flag (use bit#);* rjmp TOV0_is_set ;jump if set;* ... ;otherwise do something else;***************************************************************************;**** Specify Device ****.device ATmega128;*****************************************************************************; I/O Register Definitions;*****************************************************************************;**** Memory Mapped I/O Register Definitions ($FF-$60) ****.equ UCSR1C = $9D.equ UDR1 = $9C.equ UCSR1A = $9B.equ UCSR1B = $9A.equ UBRR1L = $99.equ UBRR1H = $98.equ UCSR0C = $95.equ UBRR0H = $90.equ TCCR3C = $8C.equ TCCR3A = $8B.equ TCCR3B = $8A.equ TCNT3H = $89.equ TCNT3L = $88.equ OCR3AH = $87.equ OCR3AL = $86.equ OCR3BH = $85.equ OCR3BL = $84.equ OCR3CH = $83.equ OCR3CL = $82.equ ICR3H = $81.equ ICR3L = $80.equ ETIMSK = $7D.equ ETIFR = $7C.equ TCCR1C = $7A.equ OCR1CH = $79.equ OCR1CL = $78.equ TWCR = $74.equ TWDR = $73.equ TWAR = $72.equ TWSR = $71.equ TWBR = $70.equ OSCCAL = $6F.equ XMCRA = $6D.equ XMCRB = $6C.equ EICRA = $6A.equ SPMCSR = $68.equ SPMCR = $68 ; old name for SPMCSR.equ PORTG = $65.equ DDRG = $64.equ PING = $63.equ PORTF = $62.equ DDRF = $61;**** I/O Register Definitions ($3F-$00) ****.equ SREG = $3F.equ SPH = $3E.equ SPL = $3D.equ XDIV = $3C.equ RAMPZ = $3B.equ EICRB = $3A.equ EIMSK = $39.equ GIMSK = $39 ; old name for EIMSK.equ GICR = $39 ; old name for EIMSK.equ EIFR = $38.equ GIFR = $38 ; old name for EIFR.equ TIMSK = $37.equ TIFR = $36.equ MCUCR = $35.equ MCUCSR = $34.equ TCCR0 = $33.equ TCNT0 = $32.equ OCR0 = $31.equ ASSR = $30.equ TCCR1A = $2F.equ TCCR1B = $2E.equ TCNT1H = $2D.equ TCNT1L = $2C.equ OCR1AH = $2B.equ OCR1AL = $2A.equ OCR1BH = $29.equ OCR1BL = $28.equ ICR1H = $27.equ ICR1L = $26.equ TCCR2 = $25.equ TCNT2 = $24.equ OCR2 = $23.equ OCDR = $22 ; New.equ WDTCR = $21.equ SFIOR = $20 ; New.equ EEARH = $1F.equ EEARL = $1E.equ EEDR = $1D.equ EECR = $1C.equ PORTA = $1B.equ DDRA = $1A.equ PINA = $19.equ PORTB = $18.equ DDRB = $17.equ PINB = $16.equ PORTC = $15.equ DDRC = $14 ; New.equ PINC = $13 ; New.equ PORTD = $12.equ DDRD = $11.equ PIND = $10.equ SPDR = $0F.equ SPSR = $0E.equ SPCR = $0D.equ UDR0 = $0C.equ UCSR0A = $0B.equ UCSR0B = $0A.equ UBRR0L = $09.equ ACSR = $08.equ ADMUX = $07.equ ADCSR = $06.equ ADCH = $05.equ ADCL = $04.equ PORTE = $03.equ DDRE = $02.equ PINE = $01.equ PINF = $00;*****************************************************************************; Bit Definitions;*****************************************************************************;**** MCU Control ****.equ SRE = 7 ; MCUCR.equ SRW10 = 6.equ SE = 5.equ SM1 = 4.equ SM0 = 3.equ SM2 = 2.equ IVSEL = 1.equ IVCE = 0.equ JTD = 7 ; MCUCSR.equ JTRF = 4.equ WDRF = 3.equ BORF = 2.equ EXTRF = 1.equ PORF = 0.equ SRL2 =6 ; XMCRA.equ SRL1 =5.equ SRL0 =4.equ SRW01 =3.equ SRW00 =2.equ SRW11 =1.equ XMBK = 7 ; XMCRB.equ XMM2 = 2.equ XMM1 = 1.equ XMM0 = 0.equ SPMIE =7 ; SPMCSR.equ ASB =6 ; backwards compatiblity.equ ASRE =4 ; backwards compatiblity.equ RWWSB =6.equ RWWSRE =4.equ BLBSET =3.equ PGWRT =2.equ PGERS =1.equ SPMEN =0.equ IDRD = 7 ; OCDR.equ OCDR6 = 6.equ OCDR5 = 5.equ OCDR4 = 4.equ OCDR3 = 3.equ OCDR2 = 2.equ OCDR1 = 1.equ OCDR0 = 0.equ XDIVEN = 7 ; XDIV.equ XDIV6 = 6.equ XDIV5 = 5.equ XDIV4 = 4.equ XDIV3 = 3.equ XDIV2 = 2.equ XDIV1 = 1.equ XDIV0 = 0.equ TSM = 7 ; SFIOR.equ ADHSM = 4.equ ACME = 3.equ PUD = 2.equ PSR0 = 1.equ PSR1 = 0.equ PSR2 = 0.equ PSR3 = 0.equ PSR321 = 0;**** Analog to Digital Converter ****.equ ADEN = 7 ; ADCSR.equ ADSC = 6.equ ADFR = 5.equ ADIF = 4.equ ADIE = 3.equ ADPS2 = 2.equ ADPS1 = 1.equ ADPS0 = 0.equ REFS1 =7 ; ADMUX.equ REFS0 =6.equ ADLAR =5.equ MUX4 =4.equ MUX3 =3.equ MUX2 =2.equ MUX1 =1.equ MUX0 =0;**** Analog Comparator ****.equ ACD = 7 ; ACSR.equ ACBG = 6.equ ACO = 5.equ ACI = 4.equ ACIE = 3.equ ACIC = 2.equ ACIS1 = 1.equ ACIS0 = 0;**** External Interrupts ****.equ INT7 = 7 ; EIMSK.equ INT6 = 6.equ INT5 = 5.equ INT4 = 4.equ INT3 = 3.equ INT2 = 2.equ INT1 = 1.equ INT0 = 0.equ INTF7 = 7 ; EIFR.equ INTF6 = 6.equ INTF5 = 5.equ INTF4 = 4.equ INTF3 = 3.equ INTF2 = 2.equ INTF1 = 1.equ INTF0 = 0.equ ISC71 = 7 ; EICRB.equ ISC70 = 6.equ ISC61 = 5.equ ISC60 = 4.equ ISC51 = 3.equ ISC50 = 2.equ ISC41 = 1.equ ISC40 = 0.equ ISC31 = 7 ; EICRA.equ ISC30 = 6.equ ISC21 = 5.equ ISC20 = 4.equ ISC11 = 3.equ ISC10 = 2.equ ISC01 = 1.equ ISC00 = 0;**** Timer Interrupts ****.equ OCIE2 = 7 ; TIMSK.equ TOIE2 = 6.equ TICIE1 = 5.equ OCIE1A = 4.equ OCIE1B = 3.equ TOIE1 = 2.equ OCIE0 = 1.equ TOIE0 = 0.equ TICIE3 = 5 ; ETIMSK.equ OCIE3A = 4.equ OCIE3B = 3.equ TOIE3 = 2.equ OCIE3C = 1.equ OCIE1C = 0.equ OCF2 = 7 ; TIFR.equ TOV2 = 6.equ ICF1 = 5.equ OCF1A = 4.equ OCF1B = 3.equ TOV1 = 2.equ OCF0 = 1.equ TOV0 = 0.equ ICF3 = 5 ; ETIFR.equ OCF3A = 4.equ OCF3B = 3.equ TOV3 = 2.equ OCF3C = 1.equ OCF1C = 0;**** Asynchronous Timer ****.equ AS0 = 3 ; ASSR.equ TCN0UB = 2.equ OCR0UB = 1.equ TCR0UB = 0;**** Timer 0 ****.equ FOC0 = 7 ; TCCR0.equ WGM00 = 6.equ COM01 = 5.equ COM00 = 4.equ WGM01 = 3.equ CS02 = 2.equ CS01 = 1.equ CS00 = 0;**** Timer 1 ****.equ COM1A1 = 7 ; TCCR1A.equ COM1A0 = 6.equ COM1B1 = 5.equ COM1B0 = 4.equ COM1C1 = 3.equ COM1C0 = 2.equ PWM11 = 1 ; OBSOLETE! Use WGM11.equ PWM10 = 0 ; OBSOLETE! Use WGM10.equ WGM11 = 1.equ WGM10 = 0.equ ICNC1 = 7 ; TCCR1B.equ ICES1 = 6.equ CTC11 = 4 ; OBSOLETE! Use WGM13.equ CTC10 = 3 ; OBSOLETE! Use WGM12.equ WGM13 = 4.equ WGM12 = 3.equ CS12 = 2.equ CS11 = 1.equ CS10 = 0.equ FOC1A = 7 ; TCCR1C.equ FOC1B = 6.equ FOC1C = 5;**** Timer 2 ****.equ FOC2 = 7 ; TCCR2.equ WGM20 = 6.equ COM21 = 5.equ COM20 = 4.equ WGM21 = 3.equ CS22 = 2.equ CS21 = 1.equ CS20 = 0;**** Timer 3 ****.equ COM3A1 = 7 ; TCCR3A.equ COM3A0 = 6.equ COM3B1 = 5.equ COM3B0 = 4.equ COM3C1 = 3.equ COM3C0 = 2.equ PWM31 = 1 ; OBSOLETE! Use WGM31.equ PWM30 = 0 ; OBSOLETE! Use WGM30.equ WGM31 = 1.equ WGM30 = 0.equ ICNC3 = 7 ; TCCR3B.equ ICES3 = 6.equ CTC31 = 4 ; OBSOLETE! Use WGM33.equ CTC30 = 3 ; OBSOLETE! Use WGM32.equ WGM33 = 4.equ WGM32 = 3.equ CS32 = 2.equ CS31 = 1.equ CS30 = 0.equ FOC3A = 7 ; TCCR3C.equ FOC3B = 6.equ FOC3C = 5;**** Watchdog Timer ****.equ WDCE = 4 ; WDTCR.equ WDTOE = 4 ; For Mega103 compability.equ WDE = 3.equ WDP2 = 2.equ WDP1 = 1.equ WDP0 = 0;**** EEPROM Control Register ****.equ EERIE = 3 ; EECR.equ EEMWE = 2.equ EEWE = 1.equ EERE = 0;**** USART 0 and USART 1 ****.equ RXC = 7 ; (UCSRA0/1).equ TXC = 6.equ UDRE = 5.equ FE = 4.equ DOR = 3.equ PE = 2 ; OBSOLETED!.equ U2X = 1.equ MPCM = 0.equ RXC0 = 7 ; (UCSR0A).equ TXC0 = 6.equ UDRE0 = 5.equ FE0 = 4.equ DOR0 = 3.equ UPE0 = 2.equ U2X0 = 1.equ MPCM0 = 0.equ RXC1 = 7 ; (UCSR1A).equ TXC1 = 6.equ UDRE1 = 5.equ FE1 = 4.equ DOR1 = 3.equ UPE1 = 2.equ U2X1 = 1.equ MPCM1 = 0.equ RXCIE = 7 ; (UCSRB0/1).equ TXCIE = 6.equ UDRIE = 5.equ RXEN = 4.equ TXEN = 3.equ UCSZ2 = 2.equ RXB8 = 1.equ TXB8 = 0.equ RXCIE0 = 7 ; (UCSR0B).equ TXCIE0 = 6.equ UDRIE0 = 5.equ RXEN0 = 4.equ TXEN0 = 3.equ UCSZ02 = 2.equ RXB80 = 1.equ TXB80 = 0.equ RXCIE1 = 7 ; (UCSR1B).equ TXCIE1 = 6.equ UDRIE1 = 5.equ RXEN1 = 4.equ TXEN1 = 3.equ UCSZ12 = 2.equ RXB81 = 1.equ TXB81 = 0.equ UMSEL = 6 ; (UCSRC0/1).equ UPM1 = 5.equ UPM0 = 4.equ USBS = 3.equ UCSZ1 = 2.equ UCSZ0 = 1.equ UCPOL = 0.equ UMSEL0 = 6 ; (UCSR0C).equ UPM01 = 5.equ UPM00 = 4.equ USBS0 = 3.equ UCSZ01 = 2.equ UCSZ00 = 1.equ UCPOL0 = 0.equ UMSEL1 = 6 ; (UCSR1C).equ UPM11 = 5.equ UPM10 = 4.equ USBS1 = 3.equ UCSZ11 = 2.equ UCSZ10 = 1.equ UCPOL1 = 0;**** SPI ****.equ SPIE = 7 ; SPCR.equ SPE = 6.equ DORD = 5.equ MSTR = 4.equ CPOL = 3.equ CPHA = 2.equ SPR1 = 1.equ SPR0 = 0.equ SPIF = 7 ; SPSR.equ WCOL = 6.equ SPI2X = 0;**** TWI ****.equ TWINT = 7 ;TWCR.equ TWEA = 6.equ TWSTA = 5.equ TWSTO = 4.equ TWWC = 3.equ TWEN = 2.equ TWIE = 0.equ TWS7 = 7 ; TWSR.equ TWS6 = 6.equ TWS5 = 5.equ TWS4 = 4.equ TWS3 = 3.equ TWPS1 = 1.equ TWPS0 = 0.equ TWA6 = 7.equ TWA5 = 6.equ TWA4 = 5.equ TWA3 = 4.equ TWA2 = 3.equ TWA1 = 2.equ TWA0 = 1.equ TWGCE = 0 ; TWAR;**** PORT A ****.equ PA7 = 7 ; PORTA.equ PA6 = 6.equ PA5 = 5.equ PA4 = 4.equ PA3 = 3.equ PA2 = 2.equ PA1 = 1.equ PA0 = 0.equ PORTA7 = 7.equ PORTA6 = 6.equ PORTA5 = 5.equ PORTA4 = 4.equ PORTA3 = 3.equ PORTA2 = 2.equ PORTA1 = 1.equ PORTA0 = 0.equ DDA7 = 7 ; DDRA.equ DDA6 = 6.equ DDA5 = 5.equ DDA4 = 4.equ DDA3 = 3.equ DDA2 = 2.equ DDA1 = 1.equ DDA0 = 0.equ PINA7 = 7 ; PINA.equ PINA6 = 6.equ PINA5 = 5.equ PINA4 = 4.equ PINA3 = 3.equ PINA2 = 2.equ PINA1 = 1.equ PINA0 = 0;**** PORT B ****.equ PB7 = 7 ; PORTB.equ PB6 = 6.equ PB5 = 5.equ PB4 = 4.equ PB3 = 3.equ PB2 = 2.equ PB1 = 1.equ PB0 = 0.equ PORTB7 = 7.equ PORTB6 = 6.equ PORTB5 = 5.equ PORTB4 = 4.equ PORTB3 = 3.equ PORTB2 = 2.equ PORTB1 = 1.equ PORTB0 = 0.equ DDB7 = 7 ; DDRB.equ DDB6 = 6.equ DDB5 = 5.equ DDB4 = 4.equ DDB3 = 3.equ DDB2 = 2.equ DDB1 = 1.equ DDB0 = 0.equ PINB7 = 7 ; PINB.equ PINB6 = 6.equ PINB5 = 5.equ PINB4 = 4.equ PINB3 = 3.equ PINB2 = 2.equ PINB1 = 1.equ PINB0 = 0;**** PORT C ****.equ PC7 = 7 ; PORTC.equ PC6 = 6.equ PC5 = 5.equ PC4 = 4.equ PC3 = 3.equ PC2 = 2.equ PC1 = 1.equ PC0 = 0.equ PORTC7 = 7.equ PORTC6 = 6.equ PORTC5 = 5.equ PORTC4 = 4.equ PORTC3 = 3.equ PORTC2 = 2.equ PORTC1 = 1.equ PORTC0 = 0.equ DDC7 = 7 ; DDRC.equ DDC6 = 6.equ DDC5 = 5.equ DDC4 = 4.equ DDC3 = 3.equ DDC2 = 2.equ DDC1 = 1.equ DDC0 = 0.equ PINC7 = 7 ; PINC.equ PINC6 = 6.equ PINC5 = 5.equ PINC4 = 4.equ PINC3 = 3.equ PINC2 = 2.equ PINC1 = 1.equ PINC0 = 0;**** PORT D ****.equ PD7 = 7 ; PORTD.equ PD6 = 6.equ PD5 = 5.equ PD4 = 4.equ PD3 = 3.equ PD2 = 2.equ PD1 = 1.equ PD0 = 0.equ PORTD7 = 7.equ PORTD6 = 6.equ PORTD5 = 5.equ PORTD4 = 4.equ PORTD3 = 3.equ PORTD2 = 2.equ PORTD1 = 1.equ PORTD0 = 0.equ DDD7 = 7 ; DDRD.equ DDD6 = 6.equ DDD5 = 5.equ DDD4 = 4.equ DDD3 = 3.equ DDD2 = 2.equ DDD1 = 1.equ DDD0 = 0.equ PIND7 = 7 ; PIND.equ PIND6 = 6.equ PIND5 = 5.equ PIND4 = 4.equ PIND3 = 3.equ PIND2 = 2.equ PIND1 = 1.equ PIND0 = 0;**** PORT E ****.equ PE7 = 7 ; PORTE.equ PE6 = 6.equ PE5 = 5.equ PE4 = 4.equ PE3 = 3.equ PE2 = 2.equ PE1 = 1.equ PE0 = 0.equ PORTE7 = 7 ; PORTE.equ PORTE6 = 6.equ PORTE5 = 5.equ PORTE4 = 4.equ PORTE3 = 3.equ PORTE2 = 2.equ PORTE1 = 1.equ PORTE0 = 0.equ DDE7 = 7 ; DDRE.equ DDE6 = 6.equ DDE5 = 5.equ DDE4 = 4.equ DDE3 = 3.equ DDE2 = 2.equ DDE1 = 1.equ DDE0 = 0.equ PINE7 = 7 ; PINE.equ PINE6 = 6.equ PINE5 = 5.equ PINE4 = 4.equ PINE3 = 3.equ PINE2 = 2.equ PINE1 = 1.equ PINE0 = 0;**** PORT F ****.equ PF7 = 7 ; PORTF.equ PF6 = 6.equ PF5 = 5.equ PF4 = 4.equ PF3 = 3.equ PF2 = 2.equ PF1 = 1.equ PF0 = 0.equ PORTF7 = 7.equ PORTF6 = 6.equ PORTF5 = 5.equ PORTF4 = 4.equ PORTF3 = 3.equ PORTF2 = 2.equ PORTF1 = 1.equ PORTF0 = 0.equ DDF7 = 7 ; DDRF.equ DDF6 = 6.equ DDF5 = 5.equ DDF4 = 4.equ DDF3 = 3.equ DDF2 = 2.equ DDF1 = 1.equ DDF0 = 0.equ PINF7 = 7 ; PINF.equ PINF6 = 6.equ PINF5 = 5.equ PINF4 = 4.equ PINF3 = 3.equ PINF2 = 2.equ PINF1 = 1.equ PINF0 = 0;**** PORT G ****.equ PG4 = 4 ; PORTG.equ PG3 = 3.equ PG2 = 2.equ PG1 = 1.equ PG0 = 0.equ DDG4 = 4 ; DDRG.equ DDG3 = 3.equ DDG2 = 2.equ DDG1 = 1.equ DDG0 = 0.equ PING4 = 4 ; PING.equ PING3 = 3.equ PING2 = 2.equ PING1 = 1.equ PING0 = 0;**** RAM Page Z Select Register ****.equ RAMPZ0 = 0;*****************************************************************************; CPU Register Declarations;*****************************************************************************.def XL = r26 ; X pointer low.def XH = r27 ; X pointer high.def YL = r28 ; Y pointer low.def YH = r29 ; Y pointer high.def ZL = r30 ; Z pointer low.def ZH = r31 ; Z pointer high;*****************************************************************************; Data Memory Declarations;*****************************************************************************.equ RAMEND = $10ff ; Highest internal data memory (SRAM) address..equ EEPROMEND = $0fff ; Highest EEPROM address.;*****************************************************************************; Program Memory Declarations;*****************************************************************************.equ FLASHEND = $FFFF ; Highest program memory (flash) address; (When addressed as 16 bit words);**** Boot Vectors ****; byte groups; /--\/--\/--\/--\.equ SMALLBOOTSTART = 0b1111111000000000 ; ($FE00) Smallest boot block is 512W.equ SECONDBOOTSTART = 0b1111110000000000 ; ($FC00) 2'nd boot block size is 1KW.equ THIRDBOOTSTART = 0b1111100000000000 ; ($F800) Third boot block size is 2KW.equ LARGEBOOTSTART = 0b1111000000000000 ; ($F000) Largest boot block is 4KW;**** Page Size ****.equ PAGESIZE = 128 ; Number of WORDS in a page;**** Interrupt Vectors ****.equ INT0addr = $002 ; External Interrupt0 Vector Address.equ INT1addr = $004 ; External Interrupt1 Vector Address.equ INT2addr = $006 ; External Interrupt2 Vector Address.equ INT3addr = $008 ; External Interrupt3 Vector Address.equ INT4addr = $00a ; External Interrupt4 Vector Address.equ INT5addr = $00c ; External Interrupt5 Vector Address.equ INT6addr = $00e ; External Interrupt6 Vector Address.equ INT7addr = $010 ; External Interrupt7 Vector Address.equ OC2addr = $012 ; Output Compare2 Interrupt Vector Address.equ OVF2addr = $014 ; Overflow2 Interrupt Vector Address.equ ICP1addr = $016 ; Input Capture1 Interrupt Vector Address.equ OC1Aaddr = $018 ; Output Compare1A Interrupt Vector Address.equ OC1Baddr = $01a ; Output Compare1B Interrupt Vector Address.equ OVF1addr = $01c ; Overflow1 Interrupt Vector Address.equ OC0addr = $01e ; Output Compare0 Interrupt Vector Address.equ OVF0addr = $020 ; Overflow0 Interrupt Vector Address.equ SPIaddr = $022 ; SPI Interrupt Vector Address.equ URXC0addr = $024 ; USART0 Receive Complete Interrupt Vector Address.equ UDRE0addr = $026 ; USART0 Data Register Empty Interrupt Vector Address.equ UTXC0addr = $028 ; USART0 Transmit Complete Interrupt Vector Address.equ ADCCaddr = $02a ; ADC Conversion Complete Handle.equ ERDYaddr = $02c ; EEPROM Write Complete Handle.equ ACIaddr = $02e ; Analog Comparator Interrupt Vector Address.equ OC1Caddr = $030 ; Output Compare1C Interrupt Vector Address.equ ICP3addr = $032 ; Input Capture3 Interrupt Vector Address.equ OC3Aaddr = $034 ; Output Compare3A Interrupt Vector Address.equ OC3Baddr = $036 ; Output Compare3B Interrupt Vector Address.equ OC3Caddr = $038 ; Output Compare3C Interrupt Vector Address.equ OVF3addr = $03A ; Overflow3 Interrupt Vector Address.equ URXC1addr = $03C ; USART1 Receive Complete Interrupt Vector Address.equ UDRE1addr = $03E ; USART1 Data Register Empty Interrupt Vector Address.equ UTXC1addr = $040 ; USART1 Transmit Complete Interrupt Vector Address.equ TWIaddr = $042 ; TWI Interrupt Vector Address.equ SPMRaddr = $044 ; Store Program Memory Ready Interrupt Vector Address;**** End of File ****