
AVRASM ver. 2.1.30  C:\Users\LK\Product\Extend\LKM-DM\Firmware\CodevisionAVR\무료\LK-AVR128C_DEV\List\test.asm Wed May 16 12:35:58 2012

C:\Users\LK\Product\Extend\LKM-DM\Firmware\CodevisionAVR\무료\LK-AVR128C_DEV\List\test.asm(1065): warning: Register r4 already defined by the .DEF directive
C:\Users\LK\Product\Extend\LKM-DM\Firmware\CodevisionAVR\무료\LK-AVR128C_DEV\List\test.asm(1066): warning: Register r6 already defined by the .DEF directive
                 
                 
                 ;CodeVisionAVR C Compiler V2.05.0 Professional
                 ;(C) Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
                 ;http://www.hpinfotech.com
                 
                 ;Chip type                : ATmega2560
                 ;Program type             : Application
                 ;Clock frequency          : 16.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          : 1024 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 core instructions    : On
                 ;Smart register allocation     : On
                 ;Automatic register allocation : On
                 
                 	#pragma AVRPART ADMIN PART_NAME ATmega2560
                 	#pragma AVRPART MEMORY PROG_FLASH 262144
                 	#pragma AVRPART MEMORY EEPROM 4096
                 	#pragma AVRPART MEMORY INT_SRAM SIZE 8703
                 	#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x200
                 
                 	#define CALL_SUPPORTED 1
                 
                 	.LISTMAC
                 	.EQU EERE=0x0
                 	.EQU EEWE=0x1
                 	.EQU EEMWE=0x2
                 	.EQU UDRE=0x5
                 	.EQU RXC=0x7
                 	.EQU EECR=0x1F
                 	.EQU EEDR=0x20
                 	.EQU EEARL=0x21
                 	.EQU EEARH=0x22
                 	.EQU SPSR=0x2D
                 	.EQU SPDR=0x2E
                 	.EQU SMCR=0x33
                 	.EQU MCUSR=0x34
                 	.EQU MCUCR=0x35
                 	.EQU WDTCSR=0x60
                 	.EQU UCSR0A=0xC0
                 	.EQU UDR0=0xC6
                 	.EQU RAMPZ=0x3B
                 	.EQU EIND=0x3C
                 	.EQU SPL=0x3D
                 	.EQU SPH=0x3E
                 	.EQU SREG=0x3F
                 	.EQU XMCRA=0x74
                 	.EQU XMCRB=0x75
                 	.EQU GPIOR0=0x1E
                 
                 	.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=0x0200
                 	.EQU __SRAM_END=0x21FF
                 	.EQU __DSTACK_SIZE=0x0400
                 	.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 __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
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	CALL __EEPROMRDW
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __GETW1STACK
                 	IN   R26,SPL
                 	IN   R27,SPH
                 	ADIW R26,@0+1
                 	LD   R30,X+
                 	LD   R31,X
                 	.ENDM
                 
                 	.MACRO __GETD1STACK
                 	IN   R26,SPL
                 	IN   R27,SPH
                 	ADIW R26,@0+1
                 	LD   R30,X+
                 	LD   R31,X+
                 	LD   R22,X
                 	.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
                 
                 ;NAME DEFINITIONS FOR GLOBAL VARIABLES ALLOCATED TO REGISTERS
                 	.DEF _duty=R4
                 	.DEF _MotorDir=R6
                 
                 ;GPIOR0 INITIALIZATION VALUE
                 	.EQU __GPIOR0_INIT=0x00
                 
                 	.CSEG
                 	.ORG 0x00
                 
                 ;START OF CODE MARKER
                 __START_OF_CODE:
                 
                 ;INTERRUPT VECTORS
000000 940c 0078 	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
00002a 940c 0000 	JMP  0x00
00002c 940c 0000 	JMP  0x00
00002e 940c 00b6 	JMP  _timer0_ovf_isr
000030 940c 0000 	JMP  0x00
000032 940c 0000 	JMP  0x00
000034 940c 0000 	JMP  0x00
000036 940c 0000 	JMP  0x00
000038 940c 0000 	JMP  0x00
00003a 940c 0000 	JMP  0x00
00003c 940c 0000 	JMP  0x00
00003e 940c 0000 	JMP  0x00
000040 940c 0000 	JMP  0x00
000042 940c 0000 	JMP  0x00
000044 940c 0000 	JMP  0x00
000046 940c 0000 	JMP  0x00
000048 940c 0000 	JMP  0x00
00004a 940c 0000 	JMP  0x00
00004c 940c 0000 	JMP  0x00
00004e 940c 0000 	JMP  0x00
000050 940c 0000 	JMP  0x00
000052 940c 0000 	JMP  0x00
000054 940c 0000 	JMP  0x00
000056 940c 0000 	JMP  0x00
000058 940c 0000 	JMP  0x00
00005a 940c 0000 	JMP  0x00
00005c 940c 0000 	JMP  0x00
00005e 940c 0000 	JMP  0x00
000060 940c 0000 	JMP  0x00
000062 940c 0000 	JMP  0x00
000064 940c 0000 	JMP  0x00
000066 940c 0000 	JMP  0x00
000068 940c 0000 	JMP  0x00
00006a 940c 0000 	JMP  0x00
00006c 940c 0000 	JMP  0x00
00006e 940c 0000 	JMP  0x00
000070 940c 0000 	JMP  0x00
                 
                 _0x28:
000072 0000
000073 0000      	.DB  0x0,0x0,0x0,0x0
                 
                 __GLOBAL_INI_TBL:
000074 0004      	.DW  0x04
000075 0004      	.DW  0x04
000076 00e4      	.DW  _0x28*2
                 
                 _0xFFFFFFFF:
000077 0000      	.DW  0
                 
                 __RESET:
000078 94f8      	CLI
000079 27ee      	CLR  R30
00007a bbef      	OUT  EECR,R30
                 
                 ;INTERRUPT VECTORS ARE PLACED
                 ;AT THE START OF FLASH
00007b e0f1      	LDI  R31,1
00007c bff5      	OUT  MCUCR,R31
00007d bfe5      	OUT  MCUCR,R30
00007e 93e0 0074 	STS  XMCRA,R30
000080 93e0 0075 	STS  XMCRB,R30
                 
                 ;DISABLE WATCHDOG
000082 e1f8      	LDI  R31,0x18
000083 95a8      	WDR
000084 b7a4      	IN   R26,MCUSR
000085 7fa7      	CBR  R26,8
000086 bfa4      	OUT  MCUSR,R26
000087 93f0 0060 	STS  WDTCSR,R31
000089 93e0 0060 	STS  WDTCSR,R30
                 
                 ;CLEAR R2-R14
00008b e08d      	LDI  R24,(14-2)+1
00008c e0a2      	LDI  R26,2
00008d 27bb      	CLR  R27
                 __CLEAR_REG:
00008e 93ed      	ST   X+,R30
00008f 958a      	DEC  R24
000090 f7e9      	BRNE __CLEAR_REG
                 
                 ;CLEAR SRAM
000091 e080      	LDI  R24,LOW(__CLEAR_SRAM_SIZE)
000092 e290      	LDI  R25,HIGH(__CLEAR_SRAM_SIZE)
000093 e0a0      	LDI  R26,LOW(__SRAM_START)
000094 e0b2      	LDI  R27,HIGH(__SRAM_START)
                 __CLEAR_SRAM:
000095 93ed      	ST   X+,R30
000096 9701      	SBIW R24,1
000097 f7e9      	BRNE __CLEAR_SRAM
                 
                 ;GLOBAL VARIABLES INITIALIZATION
000098 eee8      	LDI  R30,LOW(__GLOBAL_INI_TBL*2)
000099 e0f0      	LDI  R31,HIGH(__GLOBAL_INI_TBL*2)
                 __GLOBAL_INI_NEXT:
00009a 9185      	LPM  R24,Z+
00009b 9195      	LPM  R25,Z+
00009c 9700      	SBIW R24,0
00009d f061      	BREQ __GLOBAL_INI_END
00009e 91a5      	LPM  R26,Z+
00009f 91b5      	LPM  R27,Z+
0000a0 9005      	LPM  R0,Z+
0000a1 9015      	LPM  R1,Z+
0000a2 01bf      	MOVW R22,R30
0000a3 01f0      	MOVW R30,R0
                 __GLOBAL_INI_LOOP:
0000a4 9005      	LPM  R0,Z+
0000a5 920d      	ST   X+,R0
0000a6 9701      	SBIW R24,1
0000a7 f7e1      	BRNE __GLOBAL_INI_LOOP
0000a8 01fb      	MOVW R30,R22
0000a9 cff0      	RJMP __GLOBAL_INI_NEXT
                 __GLOBAL_INI_END:
                 
0000aa bf8b      	OUT  RAMPZ,R24
                 
0000ab bf8c      	OUT  EIND,R24
                 
                 ;GPIOR0 INITIALIZATION
0000ac e0e0      	LDI  R30,__GPIOR0_INIT
0000ad bbee      	OUT  GPIOR0,R30
                 
                 ;HARDWARE STACK POINTER INITIALIZATION
0000ae efef      	LDI  R30,LOW(__SRAM_END-__HEAP_SIZE)
0000af bfed      	OUT  SPL,R30
0000b0 e2e1      	LDI  R30,HIGH(__SRAM_END-__HEAP_SIZE)
0000b1 bfee      	OUT  SPH,R30
                 
                 ;DATA STACK POINTER INITIALIZATION
0000b2 e0c0      	LDI  R28,LOW(__SRAM_START+__DSTACK_SIZE)
0000b3 e0d6      	LDI  R29,HIGH(__SRAM_START+__DSTACK_SIZE)
                 
0000b4 940c 0105 	JMP  _main
                 
                 	.ESEG
                 	.ORG 0
                 
                 	.DSEG
                 	.ORG 0x600
                 
                 	.CSEG
                 ;/*======================================================================================
                 ;Project : DC모터드라이버 확장보드를 이용한 DC모터 제어하기
                 ;Version :
                 ;Date    : 2011-07-28
                 ;Author  : Kyung Nam Lee
                 ;Company : LKEMBEDDED
                 ;Compiler: CodevisionAVR + AVRStudio
                 ;Comment: DC모터가 정회전 역회전 하는 프로그램이다.
                 ;
                 ;※※주의사항※※
                 ;10p 플랫 케이블을 아래와 같이 연결해주세요!
                 ;ATmega2560 확장형 개발보드 PORTC <------------->DC모터드라이버 확장보드 - 10핀 박스헤더 커넥터 (PORT1)
                 ;======================================================================================*/
                 ;#include <mega2560.h>
                 	#ifndef __SLEEP_DEFINED__
                 	#define __SLEEP_DEFINED__
                 	.EQU __se_bit=0x01
                 	.EQU __sm_mask=0x0E
                 	.EQU __sm_powerdown=0x04
                 	.EQU __sm_powersave=0x06
                 	.EQU __sm_standby=0x0C
                 	.EQU __sm_ext_standby=0x0E
                 	.EQU __sm_adc_noise_red=0x02
                 	.SET power_ctrl_reg=smcr
                 	#endif
                 ;#define CW1 PORTC.0
                 ;#define CWC1 PORTC.1
                 ;#define CW2 PORTC.2
                 ;#define CCW2 PORTC.3
                 ;#define EN1 PORTC.4
                 ;#define EN2 PORTC.5
                 ;unsigned int duty=0;
                 ;unsigned int MotorDir=0;
                 ;// Timer 0 overflow interrupt service routine
                 ;interrupt [TIM0_OVF] void timer0_ovf_isr(void)
                 ; 0000 0019 {
                 
                 	.CSEG
                 _timer0_ovf_isr:
0000b6 93aa      	ST   -Y,R26
0000b7 93ba      	ST   -Y,R27
0000b8 93ea      	ST   -Y,R30
0000b9 93fa      	ST   -Y,R31
0000ba b7ef      	IN   R30,SREG
0000bb 93ea      	ST   -Y,R30
                 ; 0000 001A     static unsigned int cnt,cnt2=0;
                 ; 0000 001B     cnt++;cnt2++;
0000bc e0a0      	LDI  R26,LOW(_cnt_S0000000000)
0000bd e0b6      	LDI  R27,HIGH(_cnt_S0000000000)
0000be 91ed      	LD   R30,X+
0000bf 91fd      	LD   R31,X+
0000c0 9631      	ADIW R30,1
0000c1 93fe      	ST   -X,R31
0000c2 93ee      	ST   -X,R30
0000c3 e0a2      	LDI  R26,LOW(_cnt2_S0000000000)
0000c4 e0b6      	LDI  R27,HIGH(_cnt2_S0000000000)
0000c5 91ed      	LD   R30,X+
0000c6 91fd      	LD   R31,X+
0000c7 9631      	ADIW R30,1
0000c8 93fe      	ST   -X,R31
0000c9 93ee      	ST   -X,R30
                 ; 0000 001C     if(cnt==duty)
0000ca 91a0 0600 	LDS  R26,_cnt_S0000000000
0000cc 91b0 0601 	LDS  R27,_cnt_S0000000000+1
0000ce 164a      	CP   R4,R26
0000cf 065b      	CPC  R5,R27
0000d0 f411      	BRNE _0x3
                 ; 0000 001D     {
                 ; 0000 001E       EN1=EN2=0;
0000d1 9845      	CBI  0x8,5
0000d2 9844      	CBI  0x8,4
                 ; 0000 001F     }
                 ; 0000 0020     if(cnt==50)
                 _0x3:
0000d3 91a0 0600 	LDS  R26,_cnt_S0000000000
0000d5 91b0 0601 	LDS  R27,_cnt_S0000000000+1
0000d7 97d2      	SBIW R26,50
0000d8 f439      	BRNE _0x8
                 ; 0000 0021     {
                 ; 0000 0022       EN1=EN2=1;
0000d9 9a45      	SBI  0x8,5
0000da 9a44      	SBI  0x8,4
                 ; 0000 0023       cnt=0;
0000db e0e0      	LDI  R30,LOW(0)
0000dc 93e0 0600 	STS  _cnt_S0000000000,R30
0000de 93e0 0601 	STS  _cnt_S0000000000+1,R30
                 ; 0000 0024     }
                 ; 0000 0025     if(cnt2==500)
                 _0x8:
0000e0 91a0 0602 	LDS  R26,_cnt2_S0000000000
0000e2 91b0 0603 	LDS  R27,_cnt2_S0000000000+1
0000e4 3fa4      	CPI  R26,LOW(0x1F4)
0000e5 e0e1      	LDI  R30,HIGH(0x1F4)
0000e6 07be      	CPC  R27,R30
0000e7 f499      	BRNE _0xD
                 ; 0000 0026     {
                 ; 0000 0027         duty++;
0000e8 01f2      	MOVW R30,R4
0000e9 9631      	ADIW R30,1
0000ea 012f      	MOVW R4,R30
                 ; 0000 0028         if(duty>50)
0000eb e3e2      	LDI  R30,LOW(50)
0000ec e0f0      	LDI  R31,HIGH(50)
0000ed 15e4      	CP   R30,R4
0000ee 05f5      	CPC  R31,R5
0000ef f430      	BRSH _0xE
                 ; 0000 0029         {
                 ; 0000 002A             duty=0;
0000f0 2444      	CLR  R4
0000f1 2455      	CLR  R5
                 ; 0000 002B             duty=1;// pwm pluse의 initialization value
0000f2 e0e1      	LDI  R30,LOW(1)
0000f3 e0f0      	LDI  R31,HIGH(1)
0000f4 012f      	MOVW R4,R30
                 ; 0000 002C             MotorDir^=1;  //direction Select variable value
0000f5 266e      	EOR  R6,R30
                 ; 0000 002D 
                 ; 0000 002E         }
                 ; 0000 002F         cnt2=0;
                 _0xE:
0000f6 e0e0      	LDI  R30,LOW(0)
0000f7 93e0 0602 	STS  _cnt2_S0000000000,R30
0000f9 93e0 0603 	STS  _cnt2_S0000000000+1,R30
                 ; 0000 0030     }
                 ; 0000 0031     TCNT0+=0x06;
                 _0xD:
0000fb b5e6      	IN   R30,0x26
0000fc 5fea      	SUBI R30,-LOW(6)
0000fd bde6      	OUT  0x26,R30
                 ; 0000 0032 }
0000fe 91e9      	LD   R30,Y+
0000ff bfef      	OUT  SREG,R30
000100 91f9      	LD   R31,Y+
000101 91e9      	LD   R30,Y+
000102 91b9      	LD   R27,Y+
000103 91a9      	LD   R26,Y+
000104 9518      	RETI
                 ;
                 ;void main(void)
                 ; 0000 0035 {
                 _main:
                 ; 0000 0036 // Port C initialization
                 ; 0000 0037 PORTC=0x00; // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
000105 e0e0      	LDI  R30,LOW(0)
000106 b9e8      	OUT  0x8,R30
                 ; 0000 0038 DDRC=0xff;  // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
000107 efef      	LDI  R30,LOW(255)
000108 b9e7      	OUT  0x7,R30
                 ; 0000 0039 
                 ; 0000 003A TCCR0A=0x00;//Normal Mode Operation(Overflow Interrupt Enable)
000109 e0e0      	LDI  R30,LOW(0)
00010a bde4      	OUT  0x24,R30
                 ; 0000 003B TCCR0B=0x03;//64Prescale Select
00010b e0e3      	LDI  R30,LOW(3)
00010c bde5      	OUT  0x25,R30
                 ; 0000 003C TCNT0=0x06;// Timer/Count Register initialization
00010d e0e6      	LDI  R30,LOW(6)
00010e bde6      	OUT  0x26,R30
                 ; 0000 003D 
                 ; 0000 003E TIMSK0=0x01;// Timer(s)/Counter(s) Interrupt(s) initialization
00010f e0e1      	LDI  R30,LOW(1)
000110 93e0 006e 	STS  110,R30
                 ; 0000 003F #asm("sei")// Global enable interrupts
000112 9478      	sei
                 ; 0000 0040 duty=1;// pwm pluse의 initialization value
000113 e0e1      	LDI  R30,LOW(1)
000114 e0f0      	LDI  R31,HIGH(1)
000115 012f      	MOVW R4,R30
                 ; 0000 0041 while (1)
                 _0xF:
                 ; 0000 0042       {
                 ; 0000 0043         switch(MotorDir)
000116 01f3      	MOVW R30,R6
                 ; 0000 0044         {
                 ; 0000 0045         case 0: CW1=1;CWC1=0;CW2=1;CCW2=0;break; //forward direction
000117 9730      	SBIW R30,0
000118 f429      	BRNE _0x15
000119 9a40      	SBI  0x8,0
00011a 9841      	CBI  0x8,1
00011b 9a42      	SBI  0x8,2
00011c 9843      	CBI  0x8,3
00011d c008      	RJMP _0x14
                 ; 0000 0046         case 1: CW1=0;CWC1=1;CW2=0;CCW2=1;break; //reverse direction
                 _0x15:
00011e 30e1      	CPI  R30,LOW(0x1)
00011f e0a0      	LDI  R26,HIGH(0x1)
000120 07fa      	CPC  R31,R26
000121 f421      	BRNE _0x14
000122 9840      	CBI  0x8,0
000123 9a41      	SBI  0x8,1
000124 9842      	CBI  0x8,2
000125 9a43      	SBI  0x8,3
                 ; 0000 0047         }
                 _0x14:
                 ; 0000 0048 
                 ; 0000 0049 
                 ; 0000 004A       };
000126 cfef      	RJMP _0xF
                 ; 0000 004B }
                 _0x27:
000127 cfff      	RJMP _0x27
                 
                 	.DSEG
                 _cnt_S0000000000:
000600           	.BYTE 0x2
                 _cnt2_S0000000000:
000602           	.BYTE 0x2
                 
                 	.CSEG
                 
                 	.CSEG
                 ;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

ATmega2560 register use summary:
r0 :   4 r1 :   1 r2 :   0 r3 :   0 r4 :   7 r5 :   3 r6 :   2 r7 :   0 
r8 :   0 r9 :   0 r10:   0 r11:   0 r12:   0 r13:   0 r14:   0 r15:   0 
r16:   0 r17:   0 r18:   0 r19:   0 r20:   0 r21:   0 r22:   2 r23:   0 
r24:   9 r25:   2 r26:  18 r27:  12 r28:   1 r29:   1 r30:  66 r31:  16 
x  :  11 y  :  10 z  :   7 
Registers used: 17 out of 35 (48.6%)

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

ATmega2560 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x000250    580     12    592  262144   0.2%
[.dseg] 0x000200 0x000604      0      4      4    8703   0.0%
[.eseg] 0x000000 0x000000      0      0      0    4096   0.0%

Assembly complete, 0 errors, 2 warnings
