
AVRASM ver. 2.1.30  D:\nira\cources\videos\embedded_c_basic\13-sevenSegment\Source\Debug\List\testPrj.asm Thu Oct 24 04:55:40 2024

                 
                 
                 ;CodeVisionAVR C Compiler V3.14 Advanced
                 ;(C) Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
                 ;http://www.hpinfotech.com
                 
                 ;Build configuration    : Debug
                 ;Chip type              : ATmega16
                 ;Program type           : Application
                 ;Clock frequency        : 1.000000 MHz
                 ;Memory model           : Small
                 ;Optimize for           : Size
                 ;(s)printf features     : int, width
                 ;(s)scanf features      : int, width
                 ;External RAM size      : 0
                 ;Data Stack size        : 256 byte(s)
                 ;Heap size              : 0 byte(s)
                 ;Promote 'char' to 'int': Yes
                 ;'char' is unsigned     : Yes
                 ;8 bit enums            : Yes
                 ;Global 'const' stored in FLASH: No
                 ;Enhanced function parameter passing: Yes
                 ;Enhanced core instructions: On
                 ;Automatic register allocation for global variables: On
                 ;Smart register allocation: On
                 
                 	#define _MODEL_SMALL_
                 
                 	#pragma AVRPART ADMIN PART_NAME ATmega16
                 	#pragma AVRPART MEMORY PROG_FLASH 16384
                 	#pragma AVRPART MEMORY EEPROM 512
                 	#pragma AVRPART MEMORY INT_SRAM SIZE 1024
                 	#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
                 
                 	#define CALL_SUPPORTED 1
                 
                 	.LISTMAC
                 	.EQU UDRE=0x5
                 	.EQU RXC=0x7
                 	.EQU USR=0xB
                 	.EQU UDR=0xC
                 	.EQU SPSR=0xE
                 	.EQU SPDR=0xF
                 	.EQU EERE=0x0
                 	.EQU EEWE=0x1
                 	.EQU EEMWE=0x2
                 	.EQU EECR=0x1C
                 	.EQU EEDR=0x1D
                 	.EQU EEARL=0x1E
                 	.EQU EEARH=0x1F
                 	.EQU WDTCR=0x21
                 	.EQU MCUCR=0x35
                 	.EQU GICR=0x3B
                 	.EQU SPL=0x3D
                 	.EQU SPH=0x3E
                 	.EQU SREG=0x3F
                 
                 	.DEF R0X0=R0
                 	.DEF R0X1=R1
                 	.DEF R0X2=R2
                 	.DEF R0X3=R3
                 	.DEF R0X4=R4
                 	.DEF R0X5=R5
                 	.DEF R0X6=R6
                 	.DEF R0X7=R7
                 	.DEF R0X8=R8
                 	.DEF R0X9=R9
                 	.DEF R0XA=R10
                 	.DEF R0XB=R11
                 	.DEF R0XC=R12
                 	.DEF R0XD=R13
                 	.DEF R0XE=R14
                 	.DEF R0XF=R15
                 	.DEF R0X10=R16
                 	.DEF R0X11=R17
                 	.DEF R0X12=R18
                 	.DEF R0X13=R19
                 	.DEF R0X14=R20
                 	.DEF R0X15=R21
                 	.DEF R0X16=R22
                 	.DEF R0X17=R23
                 	.DEF R0X18=R24
                 	.DEF R0X19=R25
                 	.DEF R0X1A=R26
                 	.DEF R0X1B=R27
                 	.DEF R0X1C=R28
                 	.DEF R0X1D=R29
                 	.DEF R0X1E=R30
                 	.DEF R0X1F=R31
                 
                 	.EQU __SRAM_START=0x0060
                 	.EQU __SRAM_END=0x045F
                 	.EQU __DSTACK_SIZE=0x0100
                 	.EQU __HEAP_SIZE=0x0000
                 	.EQU __CLEAR_SRAM_SIZE=__SRAM_END-__SRAM_START+1
                 
                 	.MACRO __CPD1N
                 	CPI  R30,LOW(@0)
                 	LDI  R26,HIGH(@0)
                 	CPC  R31,R26
                 	LDI  R26,BYTE3(@0)
                 	CPC  R22,R26
                 	LDI  R26,BYTE4(@0)
                 	CPC  R23,R26
                 	.ENDM
                 
                 	.MACRO __CPD2N
                 	CPI  R26,LOW(@0)
                 	LDI  R30,HIGH(@0)
                 	CPC  R27,R30
                 	LDI  R30,BYTE3(@0)
                 	CPC  R24,R30
                 	LDI  R30,BYTE4(@0)
                 	CPC  R25,R30
                 	.ENDM
                 
                 	.MACRO __CPWRR
                 	CP   R@0,R@2
                 	CPC  R@1,R@3
                 	.ENDM
                 
                 	.MACRO __CPWRN
                 	CPI  R@0,LOW(@2)
                 	LDI  R30,HIGH(@2)
                 	CPC  R@1,R30
                 	.ENDM
                 
                 	.MACRO __ADDB1MN
                 	SUBI R30,LOW(-@0-(@1))
                 	.ENDM
                 
                 	.MACRO __ADDB2MN
                 	SUBI R26,LOW(-@0-(@1))
                 	.ENDM
                 
                 	.MACRO __ADDW1MN
                 	SUBI R30,LOW(-@0-(@1))
                 	SBCI R31,HIGH(-@0-(@1))
                 	.ENDM
                 
                 	.MACRO __ADDW2MN
                 	SUBI R26,LOW(-@0-(@1))
                 	SBCI R27,HIGH(-@0-(@1))
                 	.ENDM
                 
                 	.MACRO __ADDW1FN
                 	SUBI R30,LOW(-2*@0-(@1))
                 	SBCI R31,HIGH(-2*@0-(@1))
                 	.ENDM
                 
                 	.MACRO __ADDD1FN
                 	SUBI R30,LOW(-2*@0-(@1))
                 	SBCI R31,HIGH(-2*@0-(@1))
                 	SBCI R22,BYTE3(-2*@0-(@1))
                 	.ENDM
                 
                 	.MACRO __ADDD1N
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	SBCI R22,BYTE3(-@0)
                 	SBCI R23,BYTE4(-@0)
                 	.ENDM
                 
                 	.MACRO __ADDD2N
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	SBCI R24,BYTE3(-@0)
                 	SBCI R25,BYTE4(-@0)
                 	.ENDM
                 
                 	.MACRO __SUBD1N
                 	SUBI R30,LOW(@0)
                 	SBCI R31,HIGH(@0)
                 	SBCI R22,BYTE3(@0)
                 	SBCI R23,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __SUBD2N
                 	SUBI R26,LOW(@0)
                 	SBCI R27,HIGH(@0)
                 	SBCI R24,BYTE3(@0)
                 	SBCI R25,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __ANDBMNN
                 	LDS  R30,@0+(@1)
                 	ANDI R30,LOW(@2)
                 	STS  @0+(@1),R30
                 	.ENDM
                 
                 	.MACRO __ANDWMNN
                 	LDS  R30,@0+(@1)
                 	ANDI R30,LOW(@2)
                 	STS  @0+(@1),R30
                 	LDS  R30,@0+(@1)+1
                 	ANDI R30,HIGH(@2)
                 	STS  @0+(@1)+1,R30
                 	.ENDM
                 
                 	.MACRO __ANDD1N
                 	ANDI R30,LOW(@0)
                 	ANDI R31,HIGH(@0)
                 	ANDI R22,BYTE3(@0)
                 	ANDI R23,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __ANDD2N
                 	ANDI R26,LOW(@0)
                 	ANDI R27,HIGH(@0)
                 	ANDI R24,BYTE3(@0)
                 	ANDI R25,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __ORBMNN
                 	LDS  R30,@0+(@1)
                 	ORI  R30,LOW(@2)
                 	STS  @0+(@1),R30
                 	.ENDM
                 
                 	.MACRO __ORWMNN
                 	LDS  R30,@0+(@1)
                 	ORI  R30,LOW(@2)
                 	STS  @0+(@1),R30
                 	LDS  R30,@0+(@1)+1
                 	ORI  R30,HIGH(@2)
                 	STS  @0+(@1)+1,R30
                 	.ENDM
                 
                 	.MACRO __ORD1N
                 	ORI  R30,LOW(@0)
                 	ORI  R31,HIGH(@0)
                 	ORI  R22,BYTE3(@0)
                 	ORI  R23,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __ORD2N
                 	ORI  R26,LOW(@0)
                 	ORI  R27,HIGH(@0)
                 	ORI  R24,BYTE3(@0)
                 	ORI  R25,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __DELAY_USB
                 	LDI  R24,LOW(@0)
                 __DELAY_USB_LOOP:
                 	DEC  R24
                 	BRNE __DELAY_USB_LOOP
                 	.ENDM
                 
                 	.MACRO __DELAY_USW
                 	LDI  R24,LOW(@0)
                 	LDI  R25,HIGH(@0)
                 __DELAY_USW_LOOP:
                 	SBIW R24,1
                 	BRNE __DELAY_USW_LOOP
                 	.ENDM
                 
                 	.MACRO __GETD1S
                 	LDD  R30,Y+@0
                 	LDD  R31,Y+@0+1
                 	LDD  R22,Y+@0+2
                 	LDD  R23,Y+@0+3
                 	.ENDM
                 
                 	.MACRO __GETD2S
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	LDD  R24,Y+@0+2
                 	LDD  R25,Y+@0+3
                 	.ENDM
                 
                 	.MACRO __PUTD1S
                 	STD  Y+@0,R30
                 	STD  Y+@0+1,R31
                 	STD  Y+@0+2,R22
                 	STD  Y+@0+3,R23
                 	.ENDM
                 
                 	.MACRO __PUTD2S
                 	STD  Y+@0,R26
                 	STD  Y+@0+1,R27
                 	STD  Y+@0+2,R24
                 	STD  Y+@0+3,R25
                 	.ENDM
                 
                 	.MACRO __PUTDZ2
                 	STD  Z+@0,R26
                 	STD  Z+@0+1,R27
                 	STD  Z+@0+2,R24
                 	STD  Z+@0+3,R25
                 	.ENDM
                 
                 	.MACRO __CLRD1S
                 	STD  Y+@0,R30
                 	STD  Y+@0+1,R30
                 	STD  Y+@0+2,R30
                 	STD  Y+@0+3,R30
                 	.ENDM
                 
                 	.MACRO __POINTB1MN
                 	LDI  R30,LOW(@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTW1MN
                 	LDI  R30,LOW(@0+(@1))
                 	LDI  R31,HIGH(@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTD1M
                 	LDI  R30,LOW(@0)
                 	LDI  R31,HIGH(@0)
                 	LDI  R22,BYTE3(@0)
                 	LDI  R23,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __POINTW1FN
                 	LDI  R30,LOW(2*@0+(@1))
                 	LDI  R31,HIGH(2*@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTD1FN
                 	LDI  R30,LOW(2*@0+(@1))
                 	LDI  R31,HIGH(2*@0+(@1))
                 	LDI  R22,BYTE3(2*@0+(@1))
                 	LDI  R23,BYTE4(2*@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTB2MN
                 	LDI  R26,LOW(@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTW2MN
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTW2FN
                 	LDI  R26,LOW(2*@0+(@1))
                 	LDI  R27,HIGH(2*@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTD2FN
                 	LDI  R26,LOW(2*@0+(@1))
                 	LDI  R27,HIGH(2*@0+(@1))
                 	LDI  R24,BYTE3(2*@0+(@1))
                 	LDI  R25,BYTE4(2*@0+(@1))
                 	.ENDM
                 
                 	.MACRO __POINTBRM
                 	LDI  R@0,LOW(@1)
                 	.ENDM
                 
                 	.MACRO __POINTWRM
                 	LDI  R@0,LOW(@2)
                 	LDI  R@1,HIGH(@2)
                 	.ENDM
                 
                 	.MACRO __POINTBRMN
                 	LDI  R@0,LOW(@1+(@2))
                 	.ENDM
                 
                 	.MACRO __POINTWRMN
                 	LDI  R@0,LOW(@2+(@3))
                 	LDI  R@1,HIGH(@2+(@3))
                 	.ENDM
                 
                 	.MACRO __POINTWRFN
                 	LDI  R@0,LOW(@2*2+(@3))
                 	LDI  R@1,HIGH(@2*2+(@3))
                 	.ENDM
                 
                 	.MACRO __GETD1N
                 	LDI  R30,LOW(@0)
                 	LDI  R31,HIGH(@0)
                 	LDI  R22,BYTE3(@0)
                 	LDI  R23,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __GETD2N
                 	LDI  R26,LOW(@0)
                 	LDI  R27,HIGH(@0)
                 	LDI  R24,BYTE3(@0)
                 	LDI  R25,BYTE4(@0)
                 	.ENDM
                 
                 	.MACRO __GETB1MN
                 	LDS  R30,@0+(@1)
                 	.ENDM
                 
                 	.MACRO __GETB1HMN
                 	LDS  R31,@0+(@1)
                 	.ENDM
                 
                 	.MACRO __GETW1MN
                 	LDS  R30,@0+(@1)
                 	LDS  R31,@0+(@1)+1
                 	.ENDM
                 
                 	.MACRO __GETD1MN
                 	LDS  R30,@0+(@1)
                 	LDS  R31,@0+(@1)+1
                 	LDS  R22,@0+(@1)+2
                 	LDS  R23,@0+(@1)+3
                 	.ENDM
                 
                 	.MACRO __GETBRMN
                 	LDS  R@0,@1+(@2)
                 	.ENDM
                 
                 	.MACRO __GETWRMN
                 	LDS  R@0,@2+(@3)
                 	LDS  R@1,@2+(@3)+1
                 	.ENDM
                 
                 	.MACRO __GETWRZ
                 	LDD  R@0,Z+@2
                 	LDD  R@1,Z+@2+1
                 	.ENDM
                 
                 	.MACRO __GETD2Z
                 	LDD  R26,Z+@0
                 	LDD  R27,Z+@0+1
                 	LDD  R24,Z+@0+2
                 	LDD  R25,Z+@0+3
                 	.ENDM
                 
                 	.MACRO __GETB2MN
                 	LDS  R26,@0+(@1)
                 	.ENDM
                 
                 	.MACRO __GETW2MN
                 	LDS  R26,@0+(@1)
                 	LDS  R27,@0+(@1)+1
                 	.ENDM
                 
                 	.MACRO __GETD2MN
                 	LDS  R26,@0+(@1)
                 	LDS  R27,@0+(@1)+1
                 	LDS  R24,@0+(@1)+2
                 	LDS  R25,@0+(@1)+3
                 	.ENDM
                 
                 	.MACRO __PUTB1MN
                 	STS  @0+(@1),R30
                 	.ENDM
                 
                 	.MACRO __PUTW1MN
                 	STS  @0+(@1),R30
                 	STS  @0+(@1)+1,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1MN
                 	STS  @0+(@1),R30
                 	STS  @0+(@1)+1,R31
                 	STS  @0+(@1)+2,R22
                 	STS  @0+(@1)+3,R23
                 	.ENDM
                 
                 	.MACRO __PUTB1EN
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	CALL __EEPROMWRB
                 	.ENDM
                 
                 	.MACRO __PUTW1EN
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	CALL __EEPROMWRW
                 	.ENDM
                 
                 	.MACRO __PUTD1EN
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	CALL __EEPROMWRD
                 	.ENDM
                 
                 	.MACRO __PUTBR0MN
                 	STS  @0+(@1),R0
                 	.ENDM
                 
                 	.MACRO __PUTBMRN
                 	STS  @0+(@1),R@2
                 	.ENDM
                 
                 	.MACRO __PUTWMRN
                 	STS  @0+(@1),R@2
                 	STS  @0+(@1)+1,R@3
                 	.ENDM
                 
                 	.MACRO __PUTBZR
                 	STD  Z+@1,R@0
                 	.ENDM
                 
                 	.MACRO __PUTWZR
                 	STD  Z+@2,R@0
                 	STD  Z+@2+1,R@1
                 	.ENDM
                 
                 	.MACRO __GETW1R
                 	MOV  R30,R@0
                 	MOV  R31,R@1
                 	.ENDM
                 
                 	.MACRO __GETW2R
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	.ENDM
                 
                 	.MACRO __GETWRN
                 	LDI  R@0,LOW(@2)
                 	LDI  R@1,HIGH(@2)
                 	.ENDM
                 
                 	.MACRO __PUTW1R
                 	MOV  R@0,R30
                 	MOV  R@1,R31
                 	.ENDM
                 
                 	.MACRO __PUTW2R
                 	MOV  R@0,R26
                 	MOV  R@1,R27
                 	.ENDM
                 
                 	.MACRO __ADDWRN
                 	SUBI R@0,LOW(-@2)
                 	SBCI R@1,HIGH(-@2)
                 	.ENDM
                 
                 	.MACRO __ADDWRR
                 	ADD  R@0,R@2
                 	ADC  R@1,R@3
                 	.ENDM
                 
                 	.MACRO __SUBWRN
                 	SUBI R@0,LOW(@2)
                 	SBCI R@1,HIGH(@2)
                 	.ENDM
                 
                 	.MACRO __SUBWRR
                 	SUB  R@0,R@2
                 	SBC  R@1,R@3
                 	.ENDM
                 
                 	.MACRO __ANDWRN
                 	ANDI R@0,LOW(@2)
                 	ANDI R@1,HIGH(@2)
                 	.ENDM
                 
                 	.MACRO __ANDWRR
                 	AND  R@0,R@2
                 	AND  R@1,R@3
                 	.ENDM
                 
                 	.MACRO __ORWRN
                 	ORI  R@0,LOW(@2)
                 	ORI  R@1,HIGH(@2)
                 	.ENDM
                 
                 	.MACRO __ORWRR
                 	OR   R@0,R@2
                 	OR   R@1,R@3
                 	.ENDM
                 
                 	.MACRO __EORWRR
                 	EOR  R@0,R@2
                 	EOR  R@1,R@3
                 	.ENDM
                 
                 	.MACRO __GETWRS
                 	LDD  R@0,Y+@2
                 	LDD  R@1,Y+@2+1
                 	.ENDM
                 
                 	.MACRO __PUTBSR
                 	STD  Y+@1,R@0
                 	.ENDM
                 
                 	.MACRO __PUTWSR
                 	STD  Y+@2,R@0
                 	STD  Y+@2+1,R@1
                 	.ENDM
                 
                 	.MACRO __MOVEWRR
                 	MOV  R@0,R@2
                 	MOV  R@1,R@3
                 	.ENDM
                 
                 	.MACRO __INWR
                 	IN   R@0,@2
                 	IN   R@1,@2+1
                 	.ENDM
                 
                 	.MACRO __OUTWR
                 	OUT  @2+1,R@1
                 	OUT  @2,R@0
                 	.ENDM
                 
                 	.MACRO __CALL1MN
                 	LDS  R30,@0+(@1)
                 	LDS  R31,@0+(@1)+1
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __CALL1FN
                 	LDI  R30,LOW(2*@0+(@1))
                 	LDI  R31,HIGH(2*@0+(@1))
                 	CALL __GETW1PF
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __CALL2EN
                 	PUSH R26
                 	PUSH R27
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	CALL __EEPROMRDW
                 	POP  R27
                 	POP  R26
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __CALL2EX
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	CALL __EEPROMRDD
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __GETW1STACK
                 	IN   R30,SPL
                 	IN   R31,SPH
                 	ADIW R30,@0+1
                 	LD   R0,Z+
                 	LD   R31,Z
                 	MOV  R30,R0
                 	.ENDM
                 
                 	.MACRO __GETD1STACK
                 	IN   R30,SPL
                 	IN   R31,SPH
                 	ADIW R30,@0+1
                 	LD   R0,Z+
                 	LD   R1,Z+
                 	LD   R22,Z
                 	MOVW R30,R0
                 	.ENDM
                 
                 	.MACRO __NBST
                 	BST  R@0,@1
                 	IN   R30,SREG
                 	LDI  R31,0x40
                 	EOR  R30,R31
                 	OUT  SREG,R30
                 	.ENDM
                 
                 
                 	.MACRO __PUTB1SN
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SN
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SN
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1SNS
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	ADIW R26,@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SNS
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	ADIW R26,@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SNS
                 	LDD  R26,Y+@0
                 	LDD  R27,Y+@0+1
                 	ADIW R26,@1
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1PMN
                 	LDS  R26,@0
                 	LDS  R27,@0+1
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1PMN
                 	LDS  R26,@0
                 	LDS  R27,@0+1
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1PMN
                 	LDS  R26,@0
                 	LDS  R27,@0+1
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1PMNS
                 	LDS  R26,@0
                 	LDS  R27,@0+1
                 	ADIW R26,@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1PMNS
                 	LDS  R26,@0
                 	LDS  R27,@0+1
                 	ADIW R26,@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1PMNS
                 	LDS  R26,@0
                 	LDS  R27,@0+1
                 	ADIW R26,@1
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1RN
                 	MOVW R26,R@0
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1RN
                 	MOVW R26,R@0
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1RN
                 	MOVW R26,R@0
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1RNS
                 	MOVW R26,R@0
                 	ADIW R26,@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1RNS
                 	MOVW R26,R@0
                 	ADIW R26,@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1RNS
                 	MOVW R26,R@0
                 	ADIW R26,@1
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1RON
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	SUBI R26,LOW(-@2)
                 	SBCI R27,HIGH(-@2)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1RON
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	SUBI R26,LOW(-@2)
                 	SBCI R27,HIGH(-@2)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1RON
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	SUBI R26,LOW(-@2)
                 	SBCI R27,HIGH(-@2)
                 	CALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1RONS
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	ADIW R26,@2
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1RONS
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	ADIW R26,@2
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1RONS
                 	MOV  R26,R@0
                 	MOV  R27,R@1
                 	ADIW R26,@2
                 	CALL __PUTDP1
                 	.ENDM
                 
                 
                 	.MACRO __GETB1SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R30,Z
                 	.ENDM
                 
                 	.MACRO __GETB1HSX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R31,Z
                 	.ENDM
                 
                 	.MACRO __GETW1SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R0,Z+
                 	LD   R31,Z
                 	MOV  R30,R0
                 	.ENDM
                 
                 	.MACRO __GETD1SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R0,Z+
                 	LD   R1,Z+
                 	LD   R22,Z+
                 	LD   R23,Z
                 	MOVW R30,R0
                 	.ENDM
                 
                 	.MACRO __GETB2SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R26,X
                 	.ENDM
                 
                 	.MACRO __GETW2SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R27,X
                 	MOV  R26,R0
                 	.ENDM
                 
                 	.MACRO __GETD2SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R1,X+
                 	LD   R24,X+
                 	LD   R25,X
                 	MOVW R26,R0
                 	.ENDM
                 
                 	.MACRO __GETBRSX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@1)
                 	SBCI R31,HIGH(-@1)
                 	LD   R@0,Z
                 	.ENDM
                 
                 	.MACRO __GETWRSX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@2)
                 	SBCI R31,HIGH(-@2)
                 	LD   R@0,Z+
                 	LD   R@1,Z
                 	.ENDM
                 
                 	.MACRO __GETBRSX2
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	LD   R@0,X
                 	.ENDM
                 
                 	.MACRO __GETWRSX2
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@2)
                 	SBCI R27,HIGH(-@2)
                 	LD   R@0,X+
                 	LD   R@1,X
                 	.ENDM
                 
                 	.MACRO __LSLW8SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R31,Z
                 	CLR  R30
                 	.ENDM
                 
                 	.MACRO __PUTB1SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X+,R31
                 	ST   X+,R22
                 	ST   X,R23
                 	.ENDM
                 
                 	.MACRO __CLRW1SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __CLRD1SX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X+,R30
                 	ST   X+,R30
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTB2SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	ST   Z,R26
                 	.ENDM
                 
                 	.MACRO __PUTW2SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	ST   Z+,R26
                 	ST   Z,R27
                 	.ENDM
                 
                 	.MACRO __PUTD2SX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	ST   Z+,R26
                 	ST   Z+,R27
                 	ST   Z+,R24
                 	ST   Z,R25
                 	.ENDM
                 
                 	.MACRO __PUTBSRX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@1)
                 	SBCI R31,HIGH(-@1)
                 	ST   Z,R@0
                 	.ENDM
                 
                 	.MACRO __PUTWSRX
                 	MOVW R30,R28
                 	SUBI R30,LOW(-@2)
                 	SBCI R31,HIGH(-@2)
                 	ST   Z+,R@0
                 	ST   Z,R@1
                 	.ENDM
                 
                 	.MACRO __PUTB1SNX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R27,X
                 	MOV  R26,R0
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SNX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R27,X
                 	MOV  R26,R0
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SNX
                 	MOVW R26,R28
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R27,X
                 	MOV  R26,R0
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	ST   X+,R30
                 	ST   X+,R31
                 	ST   X+,R22
                 	ST   X,R23
                 	.ENDM
                 
                 	.MACRO __MULBRR
                 	MULS R@0,R@1
                 	MOVW R30,R0
                 	.ENDM
                 
                 	.MACRO __MULBRRU
                 	MUL  R@0,R@1
                 	MOVW R30,R0
                 	.ENDM
                 
                 	.MACRO __MULBRR0
                 	MULS R@0,R@1
                 	.ENDM
                 
                 	.MACRO __MULBRRU0
                 	MUL  R@0,R@1
                 	.ENDM
                 
                 	.MACRO __MULBNWRU
                 	LDI  R26,@2
                 	MUL  R26,R@0
                 	MOVW R30,R0
                 	MUL  R26,R@1
                 	ADD  R31,R0
                 	.ENDM
                 
                 	.CSEG
                 	.ORG 0x00
                 
                 ;START OF CODE MARKER
                 __START_OF_CODE:
                 
                 ;INTERRUPT VECTORS
000000 940c 0037 	JMP  __RESET
000002 940c 0000 	JMP  0x00
000004 940c 0000 	JMP  0x00
000006 940c 0000 	JMP  0x00
000008 940c 0000 	JMP  0x00
00000a 940c 0000 	JMP  0x00
00000c 940c 0000 	JMP  0x00
00000e 940c 0000 	JMP  0x00
000010 940c 0000 	JMP  0x00
000012 940c 0000 	JMP  0x00
000014 940c 0000 	JMP  0x00
000016 940c 0000 	JMP  0x00
000018 940c 0000 	JMP  0x00
00001a 940c 0000 	JMP  0x00
00001c 940c 0000 	JMP  0x00
00001e 940c 0000 	JMP  0x00
000020 940c 0000 	JMP  0x00
000022 940c 0000 	JMP  0x00
000024 940c 0000 	JMP  0x00
000026 940c 0000 	JMP  0x00
000028 940c 0000 	JMP  0x00
                 
                 _0x3:
00002a f9c0
00002b b0a4
00002c 9299
00002d f882      	.DB  0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8
00002e 9080
00002f 0000
000030 0000
000031 0000      	.DB  0x80,0x90,0x0,0x0,0x0,0x0,0x0,0x0
000032 0000
000033 0000
000034 0000
000035 04d2      	.DB  0x0,0x0,0x0,0x0,0x0,0x0,0xD2,0x4
000036 0000      	.DB  0x0,0x0
                 __RESET:
000037 94f8      	CLI
000038 27ee      	CLR  R30
000039 bbec      	OUT  EECR,R30
                 
                 ;INTERRUPT VECTORS ARE PLACED
                 ;AT THE START OF FLASH
00003a e0f1      	LDI  R31,1
00003b bffb      	OUT  GICR,R31
00003c bfeb      	OUT  GICR,R30
00003d bfe5      	OUT  MCUCR,R30
                 
                 ;CLEAR R2-R14
00003e e08d      	LDI  R24,(14-2)+1
00003f e0a2      	LDI  R26,2
000040 27bb      	CLR  R27
                 __CLEAR_REG:
000041 93ed      	ST   X+,R30
000042 958a      	DEC  R24
000043 f7e9      	BRNE __CLEAR_REG
                 
                 ;CLEAR SRAM
000044 e080      	LDI  R24,LOW(__CLEAR_SRAM_SIZE)
000045 e094      	LDI  R25,HIGH(__CLEAR_SRAM_SIZE)
000046 e6a0      	LDI  R26,__SRAM_START
                 __CLEAR_SRAM:
000047 93ed      	ST   X+,R30
000048 9701      	SBIW R24,1
000049 f7e9      	BRNE __CLEAR_SRAM
                 
                 ;HARDWARE STACK POINTER INITIALIZATION
00004a e5ef      	LDI  R30,LOW(__SRAM_END-__HEAP_SIZE)
00004b bfed      	OUT  SPL,R30
00004c e0e4      	LDI  R30,HIGH(__SRAM_END-__HEAP_SIZE)
00004d bfee      	OUT  SPH,R30
                 
                 ;DATA STACK POINTER INITIALIZATION
00004e e6c0      	LDI  R28,LOW(__SRAM_START+__DSTACK_SIZE)
00004f e0d1      	LDI  R29,HIGH(__SRAM_START+__DSTACK_SIZE)
                 
000050 940c 0052 	JMP  _main
                 
                 	.ESEG
                 	.ORG 0
                 
                 	.DSEG
                 	.ORG 0x160
                 
                 	.CSEG
                 ;#include <io.h>
                 	#ifndef __SLEEP_DEFINED__
                 	#define __SLEEP_DEFINED__
                 	.EQU __se_bit=0x40
                 	.EQU __sm_mask=0xB0
                 	.EQU __sm_powerdown=0x20
                 	.EQU __sm_powersave=0x30
                 	.EQU __sm_standby=0xA0
                 	.EQU __sm_ext_standby=0xB0
                 	.EQU __sm_adc_noise_red=0x10
                 	.SET power_ctrl_reg=mcucr
                 	#endif
                 ;#include <delay.h>
                 ;
                 ;void main(void)
                 ; 0000 0005 {
                 
                 	.CSEG
                 _main:
                 ; .FSTART _main
                 ; 0000 0006     unsigned char delayCnt = 0;
                 ; 0000 0007     unsigned char digitSelect = 0;
                 ; 0000 0008     unsigned char i = 0;
                 ; 0000 0009     unsigned long num = 1234;
                 ; 0000 000A     unsigned long temp;
                 ; 0000 000B     unsigned char sevenSegDigit[8];
                 ; 0000 000C     unsigned char sevenSegNum[10] = {
                 ; 0000 000D         0xC0,0xF9,0xA4,0xB0,0x99,
                 ; 0000 000E         0x92,0x82,0xF8,0x80,0x90
                 ; 0000 000F     };
                 ; 0000 0010 
                 ; 0000 0011     DDRC = 0xFF;
000052 976a      	SBIW R28,26
000053 e18a      	LDI  R24,26
000054 e0a0      	LDI  R26,LOW(0)
000055 e0b0      	LDI  R27,HIGH(0)
000056 e5e4      	LDI  R30,LOW(_0x3*2)
000057 e0f0      	LDI  R31,HIGH(_0x3*2)
000058 940e 0101 	CALL __INITLOCB
                 ;	delayCnt -> R17
                 ;	digitSelect -> R16
                 ;	i -> R19
                 ;	num -> Y+22
                 ;	temp -> Y+18
                 ;	sevenSegDigit -> Y+10
                 ;	sevenSegNum -> Y+0
00005a e010      	LDI  R17,0
00005b e000      	LDI  R16,0
00005c e030      	LDI  R19,0
00005d efef      	LDI  R30,LOW(255)
00005e bbe4      	OUT  0x14,R30
                 ; 0000 0012     DDRD = 0xFF;
00005f bbe1      	OUT  0x11,R30
                 ; 0000 0013 
                 ; 0000 0014     while(1)
                 _0x4:
                 ; 0000 0015     {
                 ; 0000 0016         PORTC = 0xFF;
000060 efef      	LDI  R30,LOW(255)
000061 bbe5      	OUT  0x15,R30
                 ; 0000 0017         PORTD = 1 << digitSelect;
000062 2fe0      	MOV  R30,R16
000063 e0a1      	LDI  R26,LOW(1)
000064 940e 00d0 	CALL __LSLB12
000066 bbe2      	OUT  0x12,R30
                 ; 0000 0018         PORTC = sevenSegDigit[digitSelect];
000067 2fe0      	MOV  R30,R16
000068 e0f0      	LDI  R31,0
000069 01de      	MOVW R26,R28
00006a 961a      	ADIW R26,10
00006b 0fae      	ADD  R26,R30
00006c 1fbf      	ADC  R27,R31
00006d 91ec      	LD   R30,X
00006e bbe5      	OUT  0x15,R30
                 ; 0000 0019         digitSelect++;
00006f 5f0f      	SUBI R16,-1
                 ; 0000 001A         if(digitSelect >= 8)
000070 3008      	CPI  R16,8
000071 f008      	BRLO _0x7
                 ; 0000 001B         {
                 ; 0000 001C             digitSelect = 0;
000072 e000      	LDI  R16,LOW(0)
                 ; 0000 001D         }
                 ; 0000 001E 
                 ; 0000 001F         if(++delayCnt >= 100)
                 _0x7:
000073 5f1f      	SUBI R17,-LOW(1)
000074 3614      	CPI  R17,100
000075 f408      	BRSH PC+2
000076 c040      	RJMP _0x8
                 ; 0000 0020         {
                 ; 0000 0021             delayCnt = 0;
000077 e010      	LDI  R17,LOW(0)
                 ; 0000 0022             if(++num > 9999)
                +
000078 89ee     +LDD R30 , Y + 22
000079 89ff     +LDD R31 , Y + 22 + 1
00007a 8d68     +LDD R22 , Y + 22 + 2
00007b 8d79     +LDD R23 , Y + 22 + 3
                 	__GETD1S 22
                +
00007c 5fef     +SUBI R30 , LOW ( - 1 )
00007d 4fff     +SBCI R31 , HIGH ( - 1 )
00007e 4f6f     +SBCI R22 , BYTE3 ( - 1 )
00007f 4f7f     +SBCI R23 , BYTE4 ( - 1 )
                 	__SUBD1N -1
                +
000080 8bee     +STD Y + 22 , R30
000081 8bff     +STD Y + 22 + 1 , R31
000082 8f68     +STD Y + 22 + 2 , R22
000083 8f79     +STD Y + 22 + 3 , R23
                 	__PUTD1S 22
                +
000084 31e0     +CPI R30 , LOW ( 0x2710 )
000085 e2a7     +LDI R26 , HIGH ( 0x2710 )
000086 07fa     +CPC R31 , R26
000087 e0a0     +LDI R26 , BYTE3 ( 0x2710 )
000088 076a     +CPC R22 , R26
000089 e0a0     +LDI R26 , BYTE4 ( 0x2710 )
00008a 077a     +CPC R23 , R26
                 	__CPD1N 0x2710
00008b f028      	BRLO _0x9
                 ; 0000 0023             {
                 ; 0000 0024                 num = 0;
00008c e0e0      	LDI  R30,LOW(0)
                +
00008d 8bee     +STD Y + 22 , R30
00008e 8bef     +STD Y + 22 + 1 , R30
00008f 8fe8     +STD Y + 22 + 2 , R30
000090 8fe9     +STD Y + 22 + 3 , R30
                 	__CLRD1S 22
                 ; 0000 0025             }
                 ; 0000 0026             temp = num;
                 _0x9:
                +
000091 89ee     +LDD R30 , Y + 22
000092 89ff     +LDD R31 , Y + 22 + 1
000093 8d68     +LDD R22 , Y + 22 + 2
000094 8d79     +LDD R23 , Y + 22 + 3
                 	__GETD1S 22
                +
000095 8bea     +STD Y + 18 , R30
000096 8bfb     +STD Y + 18 + 1 , R31
000097 8b6c     +STD Y + 18 + 2 , R22
000098 8b7d     +STD Y + 18 + 3 , R23
                 	__PUTD1S 18
                 ; 0000 0027             for(i = 0; i < 8; i++)
000099 e030      	LDI  R19,LOW(0)
                 _0xB:
00009a 3038      	CPI  R19,8
00009b f4d8      	BRSH _0xC
                 ; 0000 0028             {
                 ; 0000 0029                 sevenSegDigit[i] = sevenSegNum[temp % 10];
00009c 2fe3      	MOV  R30,R19
00009d e0f0      	LDI  R31,0
00009e 01de      	MOVW R26,R28
00009f 961a      	ADIW R26,10
0000a0 0fea      	ADD  R30,R26
0000a1 1ffb      	ADC  R31,R27
0000a2 93ff      	PUSH R31
0000a3 93ef      	PUSH R30
0000a4 d018      	RCALL SUBOPT_0x0
0000a5 940e 00fd 	CALL __MODD21U
0000a7 01de      	MOVW R26,R28
0000a8 0fae      	ADD  R26,R30
0000a9 1fbf      	ADC  R27,R31
0000aa 91ec      	LD   R30,X
0000ab 91af      	POP  R26
0000ac 91bf      	POP  R27
0000ad 93ec      	ST   X,R30
                 ; 0000 002A                 temp /= 10;
0000ae d00e      	RCALL SUBOPT_0x0
0000af 940e 00d8 	CALL __DIVD21U
                +
0000b1 8bea     +STD Y + 18 , R30
0000b2 8bfb     +STD Y + 18 + 1 , R31
0000b3 8b6c     +STD Y + 18 + 2 , R22
0000b4 8b7d     +STD Y + 18 + 3 , R23
                 	__PUTD1S 18
                 ; 0000 002B             }
0000b5 5f3f      	SUBI R19,-1
0000b6 cfe3      	RJMP _0xB
                 _0xC:
                 ; 0000 002C         }
                 ; 0000 002D 
                 ; 0000 002E         delay_ms(5);
                 _0x8:
0000b7 e0a5      	LDI  R26,LOW(5)
0000b8 e0b0      	LDI  R27,0
0000b9 940e 00c6 	CALL _delay_ms
                 ; 0000 002F 
                 ; 0000 0030     }
0000bb cfa4      	RJMP _0x4
                 ; 0000 0031 }
                 _0xD:
0000bc cfff      	RJMP _0xD
                 ; .FEND
                 ;
                 
                 	.CSEG
                 ;OPTIMIZER ADDED SUBROUTINE, CALLED 2 TIMES, CODE SIZE REDUCTION:3 WORDS
                 SUBOPT_0x0:
                +
0000bd 89aa     +LDD R26 , Y + 18
0000be 89bb     +LDD R27 , Y + 18 + 1
0000bf 898c     +LDD R24 , Y + 18 + 2
0000c0 899d     +LDD R25 , Y + 18 + 3
                 	__GETD2S 18
                +
0000c1 e0ea     +LDI R30 , LOW ( 0xA )
0000c2 e0f0     +LDI R31 , HIGH ( 0xA )
0000c3 e060     +LDI R22 , BYTE3 ( 0xA )
0000c4 e070     +LDI R23 , BYTE4 ( 0xA )
                 	__GETD1N 0xA
0000c5 9508      	RET
                 
                 
                 	.CSEG
                 _delay_ms:
0000c6 9610      	adiw r26,0
0000c7 f039      	breq __delay_ms1
                 __delay_ms0:
0000c8 95a8      	wdr
                +
0000c9 ef8a     +LDI R24 , LOW ( 0xFA )
0000ca e090     +LDI R25 , HIGH ( 0xFA )
                +__DELAY_USW_LOOP :
0000cb 9701     +SBIW R24 , 1
0000cc f7f1     +BRNE __DELAY_USW_LOOP
                 	__DELAY_USW 0xFA
0000cd 9711      	sbiw r26,1
0000ce f7c9      	brne __delay_ms0
                 __delay_ms1:
0000cf 9508      	ret
                 
                 __LSLB12:
0000d0 23ee      	TST  R30
0000d1 2e0e      	MOV  R0,R30
0000d2 2fea      	MOV  R30,R26
0000d3 f019      	BREQ __LSLB12R
                 __LSLB12L:
0000d4 0fee      	LSL  R30
0000d5 940a      	DEC  R0
0000d6 f7e9      	BRNE __LSLB12L
                 __LSLB12R:
0000d7 9508      	RET
                 
                 __DIVD21U:
0000d8 933f      	PUSH R19
0000d9 934f      	PUSH R20
0000da 935f      	PUSH R21
0000db 2400      	CLR  R0
0000dc 2411      	CLR  R1
0000dd 2744      	CLR  R20
0000de 2755      	CLR  R21
0000df e230      	LDI  R19,32
                 __DIVD21U1:
0000e0 0faa      	LSL  R26
0000e1 1fbb      	ROL  R27
0000e2 1f88      	ROL  R24
0000e3 1f99      	ROL  R25
0000e4 1c00      	ROL  R0
0000e5 1c11      	ROL  R1
0000e6 1f44      	ROL  R20
0000e7 1f55      	ROL  R21
0000e8 1a0e      	SUB  R0,R30
0000e9 0a1f      	SBC  R1,R31
0000ea 0b46      	SBC  R20,R22
0000eb 0b57      	SBC  R21,R23
0000ec f428      	BRCC __DIVD21U2
0000ed 0e0e      	ADD  R0,R30
0000ee 1e1f      	ADC  R1,R31
0000ef 1f46      	ADC  R20,R22
0000f0 1f57      	ADC  R21,R23
0000f1 c001      	RJMP __DIVD21U3
                 __DIVD21U2:
0000f2 60a1      	SBR  R26,1
                 __DIVD21U3:
0000f3 953a      	DEC  R19
0000f4 f759      	BRNE __DIVD21U1
0000f5 01fd      	MOVW R30,R26
0000f6 01bc      	MOVW R22,R24
0000f7 01d0      	MOVW R26,R0
0000f8 01ca      	MOVW R24,R20
0000f9 915f      	POP  R21
0000fa 914f      	POP  R20
0000fb 913f      	POP  R19
0000fc 9508      	RET
                 
                 __MODD21U:
0000fd dfda      	RCALL __DIVD21U
0000fe 01fd      	MOVW R30,R26
0000ff 01bc      	MOVW R22,R24
000100 9508      	RET
                 
                 __INITLOCB:
                 __INITLOCW:
000101 0fac      	ADD  R26,R28
000102 1fbd      	ADC  R27,R29
                 __INITLOC0:
000103 9005      	LPM  R0,Z+
000104 920d      	ST   X+,R0
000105 958a      	DEC  R24
000106 f7e1      	BRNE __INITLOC0
000107 9508      	RET
                 
                 ;END OF CODE MARKER
                 __END_OF_CODE:


RESOURCE USE INFORMATION
------------------------

Notice:
The register and instruction counts are symbol table hit counts,
and hence implicitly used resources are not counted, eg, the
'lpm' instruction without operands implicitly uses r0 and z,
none of which are counted.

x,y,z are separate entities in the symbol table and are
counted separately from r26..r31 here.

.dseg memory usage only counts static data declared with .byte

ATmega16 register use summary:
r0 :   9 r1 :   4 r2 :   0 r3 :   0 r4 :   0 r5 :   0 r6 :   0 r7 :   0 
r8 :   0 r9 :   0 r10:   0 r11:   0 r12:   0 r13:   0 r14:   0 r15:   0 
r16:   6 r17:   4 r18:   0 r19:   9 r20:   7 r21:   6 r22:  12 r23:  10 
r24:  13 r25:   4 r26:  30 r27:  10 r28:   6 r29:   2 r30:  49 r31:  19 
x  :   6 y  :  28 z  :   1 
Registers used: 20 out of 35 (57.1%)

ATmega16 instruction use summary:
.lds  :   0 .lds.l:   0 .sts  :   0 .sts.l:   0 adc   :   7 add   :   5 
adiw  :   3 and   :   0 andi  :   0 asr   :   0 bclr  :   0 bld   :   0 
brbc  :   0 brbs  :   0 brcc  :   1 brcs  :   0 break :   0 breq  :   2 
brge  :   0 brhc  :   0 brhs  :   0 brid  :   0 brie  :   0 brlo  :   2 
brlt  :   0 brmi  :   0 brne  :   7 brpl  :   0 brsh  :   2 brtc  :   0 
brts  :   0 brvc  :   0 brvs  :   0 bset  :   0 bst   :   0 call  :   5 
cbi   :   0 cbr   :   0 clc   :   0 clh   :   0 cli   :   1 cln   :   0 
clr   :   6 cls   :   0 clt   :   0 clv   :   0 clz   :   0 com   :   0 
cp    :   0 cpc   :   3 cpi   :   4 cpse  :   0 dec   :   4 des   :   0 
eor   :   0 fmul  :   0 fmuls :   0 fmulsu:   0 icall :   0 ijmp  :   0 
in    :   0 inc   :   0 jmp   :  22 ld    :   2 ldd   :  12 ldi   :  39 
lds   :   0 lpm   :   1 lsl   :   2 lsr   :   0 mov   :   5 movw  :   9 
mul   :   0 muls  :   0 mulsu :   0 neg   :   0 nop   :   0 or    :   0 
ori   :   0 out   :  11 pop   :   5 push  :   5 rcall :   3 ret   :   6 
reti  :   0 rjmp  :   5 rol   :   7 ror   :   0 sbc   :   3 sbci  :   3 
sbi   :   0 sbic  :   0 sbis  :   0 sbiw  :   4 sbr   :   1 sbrc  :   0 
sbrs  :   0 sec   :   0 seh   :   0 sei   :   0 sen   :   0 ser   :   0 
ses   :   0 set   :   0 sev   :   0 sez   :   0 sleep :   0 spm   :   0 
st    :   4 std   :  16 sts   :   0 sub   :   1 subi  :   4 swap  :   0 
tst   :   1 wdr   :   1 
Instructions used: 39 out of 116 (33.6%)

ATmega16 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x000210    502     26    528   16384   3.2%
[.dseg] 0x000060 0x000160      0      0      0    1024   0.0%
[.eseg] 0x000000 0x000000      0      0      0     512   0.0%

Assembly complete, 0 errors, 0 warnings
