523 lines
14 KiB
Plaintext
523 lines
14 KiB
Plaintext
|
|
AVRASM ver. 2.1.30 F:\WORK\uK\AVR\Projects\ibutton-number-read\main.asm Tue Dec 06 21:13:19 2011
|
|
|
|
|
|
EQU SIGNATURE_000 0000001e
|
|
EQU SIGNATURE_001 00000091
|
|
EQU SIGNATURE_002 0000000a
|
|
EQU SREG 0000003f
|
|
EQU SPL 0000003d
|
|
EQU OCR0B 0000003c
|
|
EQU GIMSK 0000003b
|
|
EQU EIFR 0000003a
|
|
EQU TIMSK 00000039
|
|
EQU TIFR 00000038
|
|
EQU SPMCSR 00000037
|
|
EQU OCR0A 00000036
|
|
EQU MCUCR 00000035
|
|
EQU MCUSR 00000034
|
|
EQU TCCR0B 00000033
|
|
EQU TCNT0 00000032
|
|
EQU OSCCAL 00000031
|
|
EQU TCCR0A 00000030
|
|
EQU TCCR1A 0000002f
|
|
EQU TCCR1B 0000002e
|
|
EQU TCNT1L 0000002c
|
|
EQU TCNT1H 0000002d
|
|
EQU OCR1AL 0000002a
|
|
EQU OCR1AH 0000002b
|
|
EQU OCR1BL 00000028
|
|
EQU OCR1BH 00000029
|
|
EQU CLKPR 00000026
|
|
EQU ICR1L 00000024
|
|
EQU ICR1H 00000025
|
|
EQU GTCCR 00000023
|
|
EQU TCCR1C 00000022
|
|
EQU WDTCR 00000021
|
|
EQU PCMSK 00000020
|
|
EQU EEAR 0000001e
|
|
EQU EEDR 0000001d
|
|
EQU EECR 0000001c
|
|
EQU PORTA 0000001b
|
|
EQU DDRA 0000001a
|
|
EQU PINA 00000019
|
|
EQU PORTB 00000018
|
|
EQU DDRB 00000017
|
|
EQU PINB 00000016
|
|
EQU GPIOR2 00000015
|
|
EQU GPIOR1 00000014
|
|
EQU GPIOR0 00000013
|
|
EQU PORTD 00000012
|
|
EQU DDRD 00000011
|
|
EQU PIND 00000010
|
|
EQU USIDR 0000000f
|
|
EQU USISR 0000000e
|
|
EQU USICR 0000000d
|
|
EQU UDR 0000000c
|
|
EQU UCSRA 0000000b
|
|
EQU UCSRB 0000000a
|
|
EQU UBRRL 00000009
|
|
EQU ACSR 00000008
|
|
EQU UCSRC 00000003
|
|
EQU UBRRH 00000002
|
|
EQU DIDR 00000001
|
|
EQU PORTB0 00000000
|
|
EQU PB0 00000000
|
|
EQU PORTB1 00000001
|
|
EQU PB1 00000001
|
|
EQU PORTB2 00000002
|
|
EQU PB2 00000002
|
|
EQU PORTB3 00000003
|
|
EQU PB3 00000003
|
|
EQU PORTB4 00000004
|
|
EQU PB4 00000004
|
|
EQU PORTB5 00000005
|
|
EQU PB5 00000005
|
|
EQU PORTB6 00000006
|
|
EQU PB6 00000006
|
|
EQU PORTB7 00000007
|
|
EQU PB7 00000007
|
|
EQU DDB0 00000000
|
|
EQU DDB1 00000001
|
|
EQU DDB2 00000002
|
|
EQU DDB3 00000003
|
|
EQU DDB4 00000004
|
|
EQU DDB5 00000005
|
|
EQU DDB6 00000006
|
|
EQU DDB7 00000007
|
|
EQU PINB0 00000000
|
|
EQU PINB1 00000001
|
|
EQU PINB2 00000002
|
|
EQU PINB3 00000003
|
|
EQU PINB4 00000004
|
|
EQU PINB5 00000005
|
|
EQU PINB6 00000006
|
|
EQU PINB7 00000007
|
|
EQU OCIE0A 00000000
|
|
EQU TOIE0 00000001
|
|
EQU OCIE0B 00000002
|
|
EQU OCF0A 00000000
|
|
EQU TOV0 00000001
|
|
EQU OCF0B 00000002
|
|
EQU OCR0_0 00000000
|
|
EQU OCR0_1 00000001
|
|
EQU OCR0_2 00000002
|
|
EQU OCR0_3 00000003
|
|
EQU OCR0_4 00000004
|
|
EQU OCR0_5 00000005
|
|
EQU OCR0_6 00000006
|
|
EQU OCR0_7 00000007
|
|
EQU WGM00 00000000
|
|
EQU WGM01 00000001
|
|
EQU COM0B0 00000004
|
|
EQU COM0B1 00000005
|
|
EQU COM0A0 00000006
|
|
EQU COM0A1 00000007
|
|
EQU TCNT0_0 00000000
|
|
EQU TCNT0_1 00000001
|
|
EQU TCNT0_2 00000002
|
|
EQU TCNT0_3 00000003
|
|
EQU TCNT0_4 00000004
|
|
EQU TCNT0_5 00000005
|
|
EQU TCNT0_6 00000006
|
|
EQU TCNT0_7 00000007
|
|
EQU TCCR0 00000033
|
|
EQU CS00 00000000
|
|
EQU CS01 00000001
|
|
EQU CS02 00000002
|
|
EQU WGM02 00000003
|
|
EQU FOC0B 00000006
|
|
EQU FOC0A 00000007
|
|
EQU ICIE1 00000003
|
|
EQU TICIE 00000003
|
|
EQU OCIE1B 00000005
|
|
EQU OCIE1A 00000006
|
|
EQU TOIE1 00000007
|
|
EQU ICF1 00000003
|
|
EQU OCF1B 00000005
|
|
EQU OCF1A 00000006
|
|
EQU TOV1 00000007
|
|
EQU WGM10 00000000
|
|
EQU PWM10 00000000
|
|
EQU WGM11 00000001
|
|
EQU PWM11 00000001
|
|
EQU COM1B0 00000004
|
|
EQU COM1B1 00000005
|
|
EQU COM1A0 00000006
|
|
EQU COM1A1 00000007
|
|
EQU CS10 00000000
|
|
EQU CS11 00000001
|
|
EQU CS12 00000002
|
|
EQU WGM12 00000003
|
|
EQU CTC1 00000003
|
|
EQU WGM13 00000004
|
|
EQU ICES1 00000006
|
|
EQU ICNC1 00000007
|
|
EQU FOC1B 00000006
|
|
EQU FOC1A 00000007
|
|
EQU OCR1AH0 00000000
|
|
EQU OCR1AH1 00000001
|
|
EQU OCR1AH2 00000002
|
|
EQU OCR1AH3 00000003
|
|
EQU OCR1AH4 00000004
|
|
EQU OCR1AH5 00000005
|
|
EQU OCR1AH6 00000006
|
|
EQU OCR1AH7 00000007
|
|
EQU OCR1AL0 00000000
|
|
EQU OCR1AL1 00000001
|
|
EQU OCR1AL2 00000002
|
|
EQU OCR1AL3 00000003
|
|
EQU OCR1AL4 00000004
|
|
EQU OCR1AL5 00000005
|
|
EQU OCR1AL6 00000006
|
|
EQU OCR1AL7 00000007
|
|
EQU WDTCSR 00000021
|
|
EQU WDP0 00000000
|
|
EQU WDP1 00000001
|
|
EQU WDP2 00000002
|
|
EQU WDE 00000003
|
|
EQU WDCE 00000004
|
|
EQU WDTOE 00000004
|
|
EQU WDP3 00000005
|
|
EQU WDIE 00000006
|
|
EQU WDIF 00000007
|
|
EQU PCIE 00000005
|
|
EQU INT0 00000006
|
|
EQU INT1 00000007
|
|
EQU GIFR 0000003a
|
|
EQU PCIF 00000005
|
|
EQU INTF0 00000006
|
|
EQU INTF1 00000007
|
|
EQU UDR0 00000000
|
|
EQU UDR1 00000001
|
|
EQU UDR2 00000002
|
|
EQU UDR3 00000003
|
|
EQU UDR4 00000004
|
|
EQU UDR5 00000005
|
|
EQU UDR6 00000006
|
|
EQU UDR7 00000007
|
|
EQU USR 0000000b
|
|
EQU MPCM 00000000
|
|
EQU U2X 00000001
|
|
EQU UPE 00000002
|
|
EQU PE 00000002
|
|
EQU DOR 00000003
|
|
EQU FE 00000004
|
|
EQU UDRE 00000005
|
|
EQU TXC 00000006
|
|
EQU RXC 00000007
|
|
EQU UCR 0000000a
|
|
EQU TXB8 00000000
|
|
EQU RXB8 00000001
|
|
EQU UCSZ2 00000002
|
|
EQU CHR9 00000002
|
|
EQU TXEN 00000003
|
|
EQU RXEN 00000004
|
|
EQU UDRIE 00000005
|
|
EQU TXCIE 00000006
|
|
EQU RXCIE 00000007
|
|
EQU UCPOL 00000000
|
|
EQU UCSZ0 00000001
|
|
EQU UCSZ1 00000002
|
|
EQU USBS 00000003
|
|
EQU UPM0 00000004
|
|
EQU UPM1 00000005
|
|
EQU UMSEL 00000006
|
|
EQU UBRR 00000009
|
|
EQU ACIS0 00000000
|
|
EQU ACIS1 00000001
|
|
EQU ACIC 00000002
|
|
EQU ACIE 00000003
|
|
EQU ACI 00000004
|
|
EQU ACO 00000005
|
|
EQU ACBG 00000006
|
|
EQU ACD 00000007
|
|
EQU AIN0D 00000000
|
|
EQU AIN1D 00000001
|
|
EQU PORTD0 00000000
|
|
EQU PD0 00000000
|
|
EQU PORTD1 00000001
|
|
EQU PD1 00000001
|
|
EQU PORTD2 00000002
|
|
EQU PD2 00000002
|
|
EQU PORTD3 00000003
|
|
EQU PD3 00000003
|
|
EQU PORTD4 00000004
|
|
EQU PD4 00000004
|
|
EQU PORTD5 00000005
|
|
EQU PD5 00000005
|
|
EQU PORTD6 00000006
|
|
EQU PD6 00000006
|
|
EQU DDD0 00000000
|
|
EQU DDD1 00000001
|
|
EQU DDD2 00000002
|
|
EQU DDD3 00000003
|
|
EQU DDD4 00000004
|
|
EQU DDD5 00000005
|
|
EQU DDD6 00000006
|
|
EQU PIND0 00000000
|
|
EQU PIND1 00000001
|
|
EQU PIND2 00000002
|
|
EQU PIND3 00000003
|
|
EQU PIND4 00000004
|
|
EQU PIND5 00000005
|
|
EQU PIND6 00000006
|
|
EQU EEARL 0000001e
|
|
EQU EEAR0 00000000
|
|
EQU EEAR1 00000001
|
|
EQU EEAR2 00000002
|
|
EQU EEAR3 00000003
|
|
EQU EEAR4 00000004
|
|
EQU EEAR5 00000005
|
|
EQU EEAR6 00000006
|
|
EQU EEDR0 00000000
|
|
EQU EEDR1 00000001
|
|
EQU EEDR2 00000002
|
|
EQU EEDR3 00000003
|
|
EQU EEDR4 00000004
|
|
EQU EEDR5 00000005
|
|
EQU EEDR6 00000006
|
|
EQU EEDR7 00000007
|
|
EQU EERE 00000000
|
|
EQU EEPE 00000001
|
|
EQU EEWE 00000001
|
|
EQU EEMPE 00000002
|
|
EQU EEMWE 00000002
|
|
EQU EERIE 00000003
|
|
EQU EEPM0 00000004
|
|
EQU EEPM1 00000005
|
|
EQU PORTA0 00000000
|
|
EQU PA0 00000000
|
|
EQU PORTA1 00000001
|
|
EQU PA1 00000001
|
|
EQU PORTA2 00000002
|
|
EQU PA2 00000002
|
|
EQU DDA0 00000000
|
|
EQU DDA1 00000001
|
|
EQU DDA2 00000002
|
|
EQU PINA0 00000000
|
|
EQU PINA1 00000001
|
|
EQU PINA2 00000002
|
|
EQU SREG_C 00000000
|
|
EQU SREG_Z 00000001
|
|
EQU SREG_N 00000002
|
|
EQU SREG_V 00000003
|
|
EQU SREG_S 00000004
|
|
EQU SREG_H 00000005
|
|
EQU SREG_T 00000006
|
|
EQU SREG_I 00000007
|
|
EQU SPMEN 00000000
|
|
EQU PGERS 00000001
|
|
EQU PGWRT 00000002
|
|
EQU RFLB 00000003
|
|
EQU CTPB 00000004
|
|
EQU ISC00 00000000
|
|
EQU ISC01 00000001
|
|
EQU ISC10 00000002
|
|
EQU ISC11 00000003
|
|
EQU SM0 00000004
|
|
EQU SM 00000004
|
|
EQU SE 00000005
|
|
EQU SM1 00000006
|
|
EQU PUD 00000007
|
|
EQU CLKPS0 00000000
|
|
EQU CLKPS1 00000001
|
|
EQU CLKPS2 00000002
|
|
EQU CLKPS3 00000003
|
|
EQU CLKPCE 00000007
|
|
EQU PORF 00000000
|
|
EQU EXTRF 00000001
|
|
EQU BORF 00000002
|
|
EQU WDRF 00000003
|
|
EQU CAL0 00000000
|
|
EQU CAL1 00000001
|
|
EQU CAL2 00000002
|
|
EQU CAL3 00000003
|
|
EQU CAL4 00000004
|
|
EQU CAL5 00000005
|
|
EQU CAL6 00000006
|
|
EQU SFIOR 00000023
|
|
EQU PSR10 00000000
|
|
EQU PCINT0 00000000
|
|
EQU PCINT1 00000001
|
|
EQU PCINT2 00000002
|
|
EQU PCINT3 00000003
|
|
EQU PCINT4 00000004
|
|
EQU PCINT5 00000005
|
|
EQU PCINT6 00000006
|
|
EQU PCINT7 00000007
|
|
EQU GPIOR20 00000000
|
|
EQU GPIOR21 00000001
|
|
EQU GPIOR22 00000002
|
|
EQU GPIOR23 00000003
|
|
EQU GPIOR24 00000004
|
|
EQU GPIOR25 00000005
|
|
EQU GPIOR26 00000006
|
|
EQU GPIOR27 00000007
|
|
EQU GPIOR10 00000000
|
|
EQU GPIOR11 00000001
|
|
EQU GPIOR12 00000002
|
|
EQU GPIOR13 00000003
|
|
EQU GPIOR14 00000004
|
|
EQU GPIOR15 00000005
|
|
EQU GPIOR16 00000006
|
|
EQU GPIOR17 00000007
|
|
EQU GPIOR00 00000000
|
|
EQU GPIOR01 00000001
|
|
EQU GPIOR02 00000002
|
|
EQU GPIOR03 00000003
|
|
EQU GPIOR04 00000004
|
|
EQU GPIOR05 00000005
|
|
EQU GPIOR06 00000006
|
|
EQU GPIOR07 00000007
|
|
EQU USIDR0 00000000
|
|
EQU USIDR1 00000001
|
|
EQU USIDR2 00000002
|
|
EQU USIDR3 00000003
|
|
EQU USIDR4 00000004
|
|
EQU USIDR5 00000005
|
|
EQU USIDR6 00000006
|
|
EQU USIDR7 00000007
|
|
EQU USICNT0 00000000
|
|
EQU USICNT1 00000001
|
|
EQU USICNT2 00000002
|
|
EQU USICNT3 00000003
|
|
EQU USIDC 00000004
|
|
EQU USIPF 00000005
|
|
EQU USIOIF 00000006
|
|
EQU USISIF 00000007
|
|
EQU USITC 00000000
|
|
EQU USICLK 00000001
|
|
EQU USICS0 00000002
|
|
EQU USICS1 00000003
|
|
EQU USIWM0 00000004
|
|
EQU USIWM1 00000005
|
|
EQU USIOIE 00000006
|
|
EQU USISIE 00000007
|
|
EQU LB1 00000000
|
|
EQU LB2 00000001
|
|
EQU CKSEL0 00000000
|
|
EQU CKSEL1 00000001
|
|
EQU CKSEL2 00000002
|
|
EQU CKSEL3 00000003
|
|
EQU SUT0 00000004
|
|
EQU SUT1 00000005
|
|
EQU CKOUT 00000006
|
|
EQU CKDIV8 00000007
|
|
EQU BODLEVEL0 00000000
|
|
EQU BODLEVEL1 00000001
|
|
EQU BODLEVEL2 00000002
|
|
EQU EESAVE 00000003
|
|
EQU WDTON 00000004
|
|
EQU SPIEN 00000005
|
|
EQU DWEN 00000006
|
|
EQU RSTDISBL 00000007
|
|
EQU SELFPRGEN 00000000
|
|
DEF XH r27
|
|
DEF XL r26
|
|
DEF YH r29
|
|
DEF YL r28
|
|
DEF ZH r31
|
|
DEF ZL r30
|
|
EQU FLASHEND 000003ff
|
|
EQU IOEND 0000003f
|
|
EQU SRAM_START 00000060
|
|
EQU SRAM_SIZE 00000080
|
|
EQU RAMEND 000000df
|
|
EQU XRAMEND 00000000
|
|
EQU E2END 0000007f
|
|
EQU EEPROMEND 0000007f
|
|
EQU EEADRBITS 00000007
|
|
EQU NRWW_START_ADDR 00000000
|
|
EQU NRWW_STOP_ADDR 000003ff
|
|
EQU RWW_START_ADDR 00000000
|
|
EQU RWW_STOP_ADDR 00000000
|
|
EQU PAGESIZE 00000010
|
|
EQU INT0addr 00000001
|
|
EQU INT1addr 00000002
|
|
EQU ICP1addr 00000003
|
|
EQU OC1Aaddr 00000004
|
|
EQU OC1addr 00000004
|
|
EQU OVF1addr 00000005
|
|
EQU OVF0addr 00000006
|
|
EQU URXCaddr 00000007
|
|
EQU URXC0addr 00000007
|
|
EQU UDREaddr 00000008
|
|
EQU UDRE0addr 00000008
|
|
EQU UTXCaddr 00000009
|
|
EQU UTXC0addr 00000009
|
|
EQU ACIaddr 0000000a
|
|
EQU PCIaddr 0000000b
|
|
EQU OC1Baddr 0000000c
|
|
EQU OC0Aaddr 0000000d
|
|
EQU OC0Baddr 0000000e
|
|
EQU USI_STARTaddr 0000000f
|
|
EQU USI_OVFaddr 00000010
|
|
EQU ERDYaddr 00000011
|
|
EQU WDTaddr 00000012
|
|
EQU INT_VECTORS_SIZE 00000013
|
|
DSEG SerialNumber 00000060
|
|
CSEG ProgramEntryPoint 00000118
|
|
EQU LCD_PORT 00000018
|
|
EQU LCD_DDR 00000017
|
|
EQU LCD_PIN 00000016
|
|
EQU LCD_D4 00000000
|
|
EQU LCD_D5 00000001
|
|
EQU LCD_D6 00000002
|
|
EQU LCD_D7 00000003
|
|
EQU LCD_RS 00000004
|
|
EQU LCD_EN 00000006
|
|
DEF drem8u r15
|
|
DEF dres8u r16
|
|
DEF dd8u r16
|
|
DEF dv8u r17
|
|
DEF dcnt8u r18
|
|
CSEG div8u 00000013
|
|
CSEG d8u_1 00000015
|
|
CSEG d8u_2 00000019
|
|
CSEG d8u_3 0000001f
|
|
CSEG LCD_WriteNibble 00000021
|
|
CSEG LCD_WriteData 00000034
|
|
CSEG Wait4xCycles 00000095
|
|
CSEG LCD_WriteCommand 0000003e
|
|
CSEG WaitMiliseconds 00000098
|
|
CSEG LCD_WriteString 00000047
|
|
CSEG exit 0000004c
|
|
CSEG LCD_WriteHexDigit 0000004d
|
|
CSEG Num 00000053
|
|
CSEG LCD_WriteHex8 00000057
|
|
CSEG LCD_WriteDecimal 00000061
|
|
CSEG LCD_WriteDecimalLoop 00000062
|
|
CSEG LCD_WriteDecimalLoop2 00000068
|
|
CSEG LCD_SetAddressDD 0000006f
|
|
CSEG LCD_SetAddressCG 00000072
|
|
CSEG LCD_Init 00000075
|
|
CSEG InitLoop 00000080
|
|
CSEG WaitMsLoop 00000099
|
|
EQU OW_PORT 00000012
|
|
EQU OW_PIN 00000010
|
|
EQU OW_DDR 00000011
|
|
EQU OW_DQ 00000006
|
|
DEF OWCount r17
|
|
CSEG OWReset 000000a3
|
|
CSEG OWWriteBit 000000b3
|
|
CSEG OWWriteZero 000000b7
|
|
CSEG OWWriteOne 000000b9
|
|
CSEG OWWriteByte 000000c0
|
|
CSEG OWWriteLoop 000000c2
|
|
CSEG OWReadBit 000000c9
|
|
CSEG OWReadBitEnd 000000da
|
|
CSEG OWReadByte 000000db
|
|
CSEG OWReadLoop 000000dd
|
|
DSEG _crc 00000068
|
|
CSEG CRC8Update 000000e4
|
|
CSEG CRC8L 000000e9
|
|
CSEG CRC8zero 000000f2
|
|
CSEG CRC8Init 000000ff
|
|
CSEG GetCRC8 00000105
|
|
CSEG Text1 00000108
|
|
CSEG Text2 00000110
|
|
CSEG MainLoop 00000125
|
|
CSEG StoreLoop 00000132
|
|
CSEG LoadLoop 0000013f
|