
AVRASM ver. 2.1.30  Z:\home\vasili\радиохобби\Статьи\Терморегулятор\V5\Debug\List\tr_v5.asm Mon Oct 14 13:54:59 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              : ATtiny13A
                 ;Program type           : Application
                 ;Clock frequency        : 8,000000 MHz
                 ;Memory model           : Tiny
                 ;Optimize for           : Size
                 ;(s)printf features     : int, width
                 ;(s)scanf features      : int, width
                 ;External RAM size      : 0
                 ;Data Stack size        : 16 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: Yes
                 ;Enhanced function parameter passing: Yes
                 ;Automatic register allocation for global variables: On
                 ;Smart register allocation: Off
                 
                 	#define _MODEL_TINY_
                 
                 	#pragma AVRPART ADMIN PART_NAME ATtiny13A
                 	#pragma AVRPART MEMORY PROG_FLASH 1024
                 	#pragma AVRPART MEMORY EEPROM 64
                 	#pragma AVRPART MEMORY INT_SRAM SIZE 64
                 	#pragma AVRPART MEMORY INT_SRAM START_ADDR 0x60
                 
                 	.LISTMAC
                 	.EQU EERE=0x0
                 	.EQU EEWE=0x1
                 	.EQU EEMWE=0x2
                 	.EQU EECR=0x1C
                 	.EQU EEDR=0x1D
                 	.EQU EEARL=0x1E
                 
                 	.EQU WDTCR=0x21
                 	.EQU MCUSR=0x34
                 	.EQU MCUCR=0x35
                 	.EQU SPL=0x3D
                 	.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=0x009F
                 	.EQU __DSTACK_SIZE=0x0010
                 	.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))
                 	RCALL __EEPROMWRB
                 	.ENDM
                 
                 	.MACRO __PUTW1EN
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	RCALL __EEPROMWRW
                 	.ENDM
                 
                 	.MACRO __PUTD1EN
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	RCALL __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))
                 	RCALL __GETW1PF
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __CALL2EN
                 	PUSH R26
                 	PUSH R27
                 	LDI  R26,LOW(@0+(@1))
                 	LDI  R27,HIGH(@0+(@1))
                 	RCALL __EEPROMRDW
                 	POP  R27
                 	POP  R26
                 	ICALL
                 	.ENDM
                 
                 	.MACRO __CALL2EX
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	RCALL __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
                 	MOV  R30,R0
                 	MOV  R31,R1
                 	.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
                 	SUBI R26,-@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SN
                 	LDD  R26,Y+@0
                 	SUBI R26,-@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SN
                 	LDD  R26,Y+@0
                 	SUBI R26,-@1
                 	RCALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1SNS
                 	LDD  R26,Y+@0
                 	SUBI R26,-@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SNS
                 	LDD  R26,Y+@0
                 	SUBI R26,-@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SNS
                 	LDD  R26,Y+@0
                 	SUBI R26,-@1
                 	RCALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1RN
                 	MOV  R26,R@0
                 	SUBI R26,-@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1RN
                 	MOV  R26,R@0
                 	SUBI R26,-@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1RN
                 	MOV  R26,R@0
                 	SUBI R26,-@1
                 	RCALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1RNS
                 	MOV  R26,R@0
                 	SUBI R26,-@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1RNS
                 	MOV  R26,R@0
                 	SUBI R26,-@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1RNS
                 	MOV  R26,R@0
                 	SUBI R26,-@1
                 	RCALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1PMN
                 	LDS  R26,@0
                 	SUBI R26,-@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1PMN
                 	LDS  R26,@0
                 	SUBI R26,-@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1PMN
                 	LDS  R26,@0
                 	SUBI R26,-@1
                 	RCALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __PUTB1PMNS
                 	LDS  R26,@0
                 	SUBI R26,-@1
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1PMNS
                 	LDS  R26,@0
                 	SUBI R26,-@1
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1PMNS
                 	LDS  R26,@0
                 	SUBI R26,-@1
                 	RCALL __PUTDP1
                 	.ENDM
                 
                 	.MACRO __GETB1SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R30,Z
                 	.ENDM
                 
                 	.MACRO __GETB1HSX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R31,Z
                 	.ENDM
                 
                 	.MACRO __GETW1SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R0,Z+
                 	LD   R31,Z
                 	MOV  R30,R0
                 	.ENDM
                 
                 	.MACRO __GETD1SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R0,Z+
                 	LD   R1,Z+
                 	LD   R22,Z+
                 	LD   R23,Z
                 	MOV  R30,R0
                 	MOV  R31,R1
                 	.ENDM
                 
                 	.MACRO __GETB2SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R26,X
                 	.ENDM
                 
                 	.MACRO __GETW2SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R27,X
                 	MOV  R26,R0
                 	.ENDM
                 
                 	.MACRO __GETD2SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	LD   R0,X+
                 	LD   R1,X+
                 	LD   R24,X+
                 	LD   R25,X
                 	MOV  R26,R0
                 	MOV  R27,R1
                 	.ENDM
                 
                 	.MACRO __GETBRSX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@1)
                 	SBCI R31,HIGH(-@1)
                 	LD   R@0,Z
                 	.ENDM
                 
                 	.MACRO __GETWRSX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@2)
                 	SBCI R31,HIGH(-@2)
                 	LD   R@0,Z+
                 	LD   R@1,Z
                 	.ENDM
                 
                 	.MACRO __GETBRSX2
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@1)
                 	SBCI R27,HIGH(-@1)
                 	LD   R@0,X
                 	.ENDM
                 
                 	.MACRO __GETWRSX2
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@2)
                 	SBCI R27,HIGH(-@2)
                 	LD   R@0,X+
                 	LD   R@1,X
                 	.ENDM
                 
                 	.MACRO __LSLW8SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	LD   R31,Z
                 	CLR  R30
                 	.ENDM
                 
                 	.MACRO __PUTB1SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTW1SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X,R31
                 	.ENDM
                 
                 	.MACRO __PUTD1SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X+,R31
                 	ST   X+,R22
                 	ST   X,R23
                 	.ENDM
                 
                 	.MACRO __CLRW1SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __CLRD1SX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	SUBI R26,LOW(-@0)
                 	SBCI R27,HIGH(-@0)
                 	ST   X+,R30
                 	ST   X+,R30
                 	ST   X+,R30
                 	ST   X,R30
                 	.ENDM
                 
                 	.MACRO __PUTB2SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	ST   Z,R26
                 	.ENDM
                 
                 	.MACRO __PUTW2SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	ST   Z+,R26
                 	ST   Z,R27
                 	.ENDM
                 
                 	.MACRO __PUTD2SX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@0)
                 	SBCI R31,HIGH(-@0)
                 	ST   Z+,R26
                 	ST   Z+,R27
                 	ST   Z+,R24
                 	ST   Z,R25
                 	.ENDM
                 
                 	.MACRO __PUTBSRX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@1)
                 	SBCI R31,HIGH(-@1)
                 	ST   Z,R@0
                 	.ENDM
                 
                 	.MACRO __PUTWSRX
                 	MOV  R30,R28
                 	MOV  R31,R29
                 	SUBI R30,LOW(-@2)
                 	SBCI R31,HIGH(-@2)
                 	ST   Z+,R@0
                 	ST   Z,R@1
                 	.ENDM
                 
                 	.MACRO __PUTB1SNX
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	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
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	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
                 	MOV  R26,R28
                 	MOV  R27,R29
                 	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
                 
                 	.CSEG
                 	.ORG 0x00
                 
                 ;START OF CODE MARKER
                 __START_OF_CODE:
                 
                 ;INTERRUPT VECTORS
000000 c020      	RJMP __RESET
000001 cffe      	RJMP 0x00
000002 cffd      	RJMP 0x00
000003 c050      	RJMP _timer0_ovf_isr
000004 cffb      	RJMP 0x00
000005 cffa      	RJMP 0x00
000006 cff9      	RJMP 0x00
000007 cff8      	RJMP 0x00
000008 cff7      	RJMP 0x00
000009 cff6      	RJMP 0x00
                 
                 _conv_delay_G100:
00000a 0064
00000b 00c8
00000c 0190
00000d 0320      	.DB  0x64,0x0,0xC8,0x0,0x90,0x1,0x20,0x3
                 _bit_mask_G100:
00000e fff8
00000f fffc
000010 fffe
000011 ffff      	.DB  0xF8,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0xFF
                 
                 _0x3:
000012 6128
000013 0a64
000014 7e70
000015 32de      	.DB  0x28,0x61,0x64,0xA,0x70,0x7E,0xDE,0x32
                 _0x4:
000016 6128
000017 0a64
000018 6670
000019 bd2a      	.DB  0x28,0x61,0x64,0xA,0x70,0x66,0x2A,0xBD
                 
                 __GLOBAL_INI_TBL:
00001a 0008      	.DW  0x08
00001b 007b      	.DW  _addr1_S0000001000
00001c 0024      	.DW  _0x3*2
                 
00001d 0008      	.DW  0x08
00001e 0083      	.DW  _addr2_S0000001000
00001f 002c      	.DW  _0x4*2
                 
                 _0xFFFFFFFF:
000020 0000      	.DW  0
                 
                 #define __GLOBAL_INI_TBL_PRESENT 1
                 
                 __RESET:
000021 94f8      	CLI
000022 27ee      	CLR  R30
000023 bbec      	OUT  EECR,R30
000024 bfe5      	OUT  MCUCR,R30
                 
                 ;CLEAR R2-R14
000025 e08d      	LDI  R24,(14-2)+1
000026 e0a2      	LDI  R26,2
                 __CLEAR_REG:
000027 93ed      	ST   X+,R30
000028 958a      	DEC  R24
000029 f7e9      	BRNE __CLEAR_REG
                 
                 ;CLEAR SRAM
00002a e480      	LDI  R24,__CLEAR_SRAM_SIZE
00002b e6a0      	LDI  R26,__SRAM_START
                 __CLEAR_SRAM:
00002c 93ed      	ST   X+,R30
00002d 958a      	DEC  R24
00002e f7e9      	BRNE __CLEAR_SRAM
                 
                 ;GLOBAL VARIABLES INITIALIZATION
00002f e3e4      	LDI  R30,LOW(__GLOBAL_INI_TBL*2)
000030 e0f0      	LDI  R31,HIGH(__GLOBAL_INI_TBL*2)
                 __GLOBAL_INI_NEXT:
000031 95c8      	LPM
000032 9631      	ADIW R30,1
000033 2d80      	MOV  R24,R0
000034 95c8      	LPM
000035 9631      	ADIW R30,1
000036 2d90      	MOV  R25,R0
000037 9700      	SBIW R24,0
000038 f0b9      	BREQ __GLOBAL_INI_END
000039 95c8      	LPM
00003a 9631      	ADIW R30,1
00003b 2da0      	MOV  R26,R0
00003c 95c8      	LPM
00003d 9631      	ADIW R30,1
00003e 2db0      	MOV  R27,R0
00003f 95c8      	LPM
000040 9631      	ADIW R30,1
000041 2c10      	MOV  R1,R0
000042 95c8      	LPM
000043 9631      	ADIW R30,1
000044 2f6e      	MOV  R22,R30
000045 2f7f      	MOV  R23,R31
000046 2df0      	MOV  R31,R0
000047 2de1      	MOV  R30,R1
                 __GLOBAL_INI_LOOP:
000048 95c8      	LPM
000049 9631      	ADIW R30,1
00004a 920d      	ST   X+,R0
00004b 9701      	SBIW R24,1
00004c f7d9      	BRNE __GLOBAL_INI_LOOP
00004d 2fe6      	MOV  R30,R22
00004e 2ff7      	MOV  R31,R23
00004f cfe1      	RJMP __GLOBAL_INI_NEXT
                 __GLOBAL_INI_END:
                 
                 ;HARDWARE STACK POINTER INITIALIZATION
000050 e9ef      	LDI  R30,LOW(__SRAM_END-__HEAP_SIZE)
000051 bfed      	OUT  SPL,R30
                 
                 ;DATA STACK POINTER INITIALIZATION
000052 e7c0      	LDI  R28,LOW(__SRAM_START+__DSTACK_SIZE)
                 
000053 c053      	RJMP _main
                 
                 	.ESEG
                 	.ORG 0
                 
                 	.DSEG
                 	.ORG 0x70
                 
                 	.CSEG
                 ;/*******************************************************
                 ;This program was created by the
                 ;CodeWizardAVR V3.14 Advanced
                 ;Automatic Program Generator
                 ;© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
                 ;http://www.hpinfotech.com
                 ;
                 ;Project :
                 ;Version :
                 ;Date    : 01.10.2024
                 ;Author  :
                 ;Company :
                 ;Comments:
                 ;
                 ;
                 ;Chip type               : ATtiny13A
                 ;AVR Core Clock frequency: 8,000000 MHz
                 ;Memory model            : Tiny
                 ;External RAM size       : 0
                 ;Data Stack size         : 16
                 ;*******************************************************/
                 ;
                 ;#include <tiny13a.h>
                 	#ifndef __SLEEP_DEFINED__
                 	#define __SLEEP_DEFINED__
                 	.EQU __se_bit=0x20
                 	.EQU __sm_mask=0x18
                 	.EQU __sm_adc_noise_red=0x08
                 	.EQU __sm_powerdown=0x10
                 	.SET power_ctrl_reg=mcucr
                 	#endif
                 ;
                 ;// 1 Wire Bus interface functions
                 ;#include <1wire.h>
                 ;#include <ds18b20.h>
                 ;#include <delay.h>
                 ;
                 ;volatile int cnt = 0; //глобальная переменная для таймера
                 ;interrupt [TIM0_OVF] void timer0_ovf_isr(void)           //прерывание по переполнению таймера
                 ; 0000 0020 {
                 
                 	.CSEG
                 _timer0_ovf_isr:
                 ; .FSTART _timer0_ovf_isr
000054 93aa      	ST   -Y,R26
000055 93ea      	ST   -Y,R30
000056 93fa      	ST   -Y,R31
000057 b7ef      	IN   R30,SREG
000058 93ea      	ST   -Y,R30
                 ; 0000 0021 TCNT0=0x00;  //обнулили таймер
000059 e0e0      	LDI  R30,LOW(0)
00005a bfe2      	OUT  0x32,R30
                 ; 0000 0022  cnt++;               // прибавили 1 к счетчику
00005b e7a9      	LDI  R26,LOW(_cnt)
00005c 91ed      	LD   R30,X+
00005d 91fd      	LD   R31,X+
00005e 9631      	ADIW R30,1
00005f 93fe      	ST   -X,R31
000060 93ee      	ST   -X,R30
                 ; 0000 0023 }
000061 91e9      	LD   R30,Y+
000062 bfef      	OUT  SREG,R30
000063 91f9      	LD   R31,Y+
000064 91e9      	LD   R30,Y+
000065 91a9      	LD   R26,Y+
000066 9518      	RETI
                 ; .FEND
                 ;
                 ;int ds18b20_read(unsigned char num) //процедура считывания данных с датчиков
                 ; 0000 0026 {
                 _ds18b20_read:
                 ; .FSTART _ds18b20_read
                 ; 0000 0027      unsigned int j;   //переменная для цикла
                 ; 0000 0028      int temp_int;       //переменная для преобразования температуры
                 ; 0000 0029      unsigned char temperature[2];  //рассчитанная температура
                 ; 0000 002A static const  unsigned char addr1[8] = {0x28, 0x61, 0x64, 0x0A, 0x70, 0x7E, 0xDE, 0x32};      //адрес датчика отопителя
                 
                 	.DSEG
                 
                 	.CSEG
                 ; 0000 002B static const  unsigned char addr2[8] = {0x28, 0x61, 0x64, 0x0A, 0x70, 0x66, 0x2A, 0xBD};   //адрес датчика окружающего в ...
                 
                 	.DSEG
                 
                 	.CSEG
                 ; 0000 002C      w1_init();
000067 93aa      	ST   -Y,R26
000068 9722      	SBIW R28,2
000069 d113      	RCALL __SAVELOCR4
                 ;	num -> Y+6
                 ;	j -> R16,R17
                 ;	temp_int -> R18,R19
                 ;	temperature -> Y+4
00006a d0b9      	RCALL _w1_init
                 ; 0000 002D        if (num == 0)
00006b 81ee      	LDD  R30,Y+6
00006c 30e0      	CPI  R30,0
00006d f459      	BRNE _0x5
                 ; 0000 002E        {
                 ; 0000 002F        ds18b20_select(addr1);
00006e e7ab      	LDI  R26,LOW(_addr1_S0000001000)
00006f d095      	RCALL _ds18b20_select
                 ; 0000 0030        w1_write(0x44);
000070 e4a4      	LDI  R26,LOW(68)
000071 d0f8      	RCALL _w1_write
                 ; 0000 0031        while (PINB.2 == 0)
                 _0x6:
000072 9bb2      	SBIS 0x16,2
                 ; 0000 0032        ;
000073 cffe      	RJMP _0x6
                 ; 0000 0033        w1_init() ;
000074 d0af      	RCALL _w1_init
                 ; 0000 0034        ds18b20_select(addr1);
000075 e7ab      	LDI  R26,LOW(_addr1_S0000001000)
000076 d08e      	RCALL _ds18b20_select
                 ; 0000 0035        w1_write(0xbe);
000077 ebae      	LDI  R26,LOW(190)
000078 d0f1      	RCALL _w1_write
                 ; 0000 0036        }
                 ; 0000 0037        if (num == 1)
                 _0x5:
000079 81ae      	LDD  R26,Y+6
00007a 30a1      	CPI  R26,LOW(0x1)
00007b f459      	BRNE _0x9
                 ; 0000 0038        {
                 ; 0000 0039        ds18b20_select(addr2);
00007c e8a3      	LDI  R26,LOW(_addr2_S0000001000)
00007d d087      	RCALL _ds18b20_select
                 ; 0000 003A        w1_write(0x44);
00007e e4a4      	LDI  R26,LOW(68)
00007f d0ea      	RCALL _w1_write
                 ; 0000 003B        while (PINB.2 == 0)
                 _0xA:
000080 9bb2      	SBIS 0x16,2
                 ; 0000 003C        ;
000081 cffe      	RJMP _0xA
                 ; 0000 003D        w1_init() ;
000082 d0a1      	RCALL _w1_init
                 ; 0000 003E        ds18b20_select(addr2);
000083 e8a3      	LDI  R26,LOW(_addr2_S0000001000)
000084 d080      	RCALL _ds18b20_select
                 ; 0000 003F        w1_write(0xbe);
000085 ebae      	LDI  R26,LOW(190)
000086 d0e3      	RCALL _w1_write
                 ; 0000 0040        }
                 ; 0000 0041        for (j = 0; j < 2; j++)      //считываем первые два байта температуры
                 _0x9:
                +
000087 e000     +LDI R16 , LOW ( 0 )
000088 e010     +LDI R17 , HIGH ( 0 )
                 	__GETWRN 16,17,0
                 _0xE:
                +
000089 3002     +CPI R16 , LOW ( 2 )
00008a e0e0     +LDI R30 , HIGH ( 2 )
00008b 071e     +CPC R17 , R30
                 	__CPWRN 16,17,2
00008c f458      	BRSH _0xF
                 ; 0000 0042 		 temperature[j] = w1_read();
00008d 2fe0      	MOV  R30,R16
00008e 2fac      	MOV  R26,R28
00008f 5fac      	SUBI R26,-(4)
000090 0fea      	ADD  R30,R26
000091 93ef      	PUSH R30
000092 d0d2      	RCALL _w1_read
000093 91af      	POP  R26
000094 93ec      	ST   X,R30
                +
000095 5f0f     +SUBI R16 , LOW ( - 1 )
000096 4f1f     +SBCI R17 , HIGH ( - 1 )
                 	__ADDWRN 16,17,1
000097 cff1      	RJMP _0xE
                 _0xF:
                 ; 0000 0043 w1_init();
000098 d08b      	RCALL _w1_init
                 ; 0000 0044 	 temp_int = ((temperature[1]<<8)|(temperature[0]));
000099 e0e0      	LDI  R30,0
00009a 81fd      	LDD  R31,Y+5
00009b 2fae      	MOV  R26,R30
00009c 2fbf      	MOV  R27,R31
00009d 81ec      	LDD  R30,Y+4
00009e e0f0      	LDI  R31,0
00009f 2bea      	OR   R30,R26
0000a0 2bfb      	OR   R31,R27
0000a1 d07f      	RCALL SUBOPT_0x0
                 ; 0000 0045       temp_int=(temp_int>>4);;
0000a2 d0d1      	RCALL __ASRW4
0000a3 d07d      	RCALL SUBOPT_0x0
                 ; 0000 0046 	 return temp_int;
0000a4 d0dd      	RCALL __LOADLOCR4
0000a5 9627      	ADIW R28,7
0000a6 9508      	RET
                 ; 0000 0047 }
                 ; .FEND
                 ;
                 ;void main(void)
                 ; 0000 004A {
                 _main:
                 ; .FSTART _main
                 ; 0000 004B unsigned int temp_k;     //температура отопителя
                 ; 0000 004C unsigned int temp_o;     //температура воздуха
                 ; 0000 004D bit rej = 0;
                 ; 0000 004E #pragma optsize-
                 ; 0000 004F CLKPR=(1<<CLKPCE);
                 ;	temp_k -> R16,R17
                 ;	temp_o -> R18,R19
                 ;	rej -> R15.0
0000a7 24ff      	CLR  R15
0000a8 e8e0      	LDI  R30,LOW(128)
0000a9 bde6      	OUT  0x26,R30
                 ; 0000 0050 CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
0000aa e0e0      	LDI  R30,LOW(0)
0000ab bde6      	OUT  0x26,R30
                 ; 0000 0051 #ifdef _OPTIMIZE_SIZE_
                 ; 0000 0052 #pragma optsize+
                 ; 0000 0053 #endif
                 ; 0000 0054 DDRB=(0<<DDB5) | (0<<DDB4) | (1<<DDB3) | (0<<DDB2) | (1<<DDB1) | (0<<DDB0);
0000ac e0ea      	LDI  R30,LOW(10)
0000ad bbe7      	OUT  0x17,R30
                 ; 0000 0055 PORTB=(0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
0000ae e0e0      	LDI  R30,LOW(0)
0000af bbe8      	OUT  0x18,R30
                 ; 0000 0056 TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
0000b0 bdef      	OUT  0x2F,R30
                 ; 0000 0057 TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (1<<CS00);
0000b1 e0e3      	LDI  R30,LOW(3)
0000b2 bfe3      	OUT  0x33,R30
                 ; 0000 0058 TCNT0=0x00;
0000b3 e0e0      	LDI  R30,LOW(0)
0000b4 bfe2      	OUT  0x32,R30
                 ; 0000 0059 OCR0A=0x00;
0000b5 bfe6      	OUT  0x36,R30
                 ; 0000 005A OCR0B=0x00;
0000b6 bde9      	OUT  0x29,R30
                 ; 0000 005B TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
0000b7 e0e2      	LDI  R30,LOW(2)
0000b8 bfe9      	OUT  0x39,R30
                 ; 0000 005C GIMSK=(0<<INT0) | (0<<PCIE);
0000b9 e0e0      	LDI  R30,LOW(0)
0000ba bfeb      	OUT  0x3B,R30
                 ; 0000 005D MCUCR=(0<<ISC01) | (0<<ISC00);
0000bb bfe5      	OUT  0x35,R30
                 ; 0000 005E ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIS1) | (0<<ACIS0);
0000bc e8e0      	LDI  R30,LOW(128)
0000bd b9e8      	OUT  0x8,R30
                 ; 0000 005F ADCSRB=(0<<ACME);
0000be e0e0      	LDI  R30,LOW(0)
0000bf b9e3      	OUT  0x3,R30
                 ; 0000 0060 DIDR0=(0<<AIN0D) | (0<<AIN1D);
0000c0 bbe4      	OUT  0x14,R30
                 ; 0000 0061 ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
0000c1 b9e6      	OUT  0x6,R30
                 ; 0000 0062 w1_init();
0000c2 d061      	RCALL _w1_init
                 ; 0000 0063 #asm("sei")
0000c3 9478      	sei
                 ; 0000 0064 PORTB.1 = 0;
0000c4 98c1      	CBI  0x18,1
                 ; 0000 0065 while (1)
                 _0x12:
                 ; 0000 0066       {
                 ; 0000 0067        if (cnt > 2000)
0000c5 91a0 0079 	LDS  R26,_cnt
0000c7 91b0 007a 	LDS  R27,_cnt+1
0000c9 3da1      	CPI  R26,LOW(0x7D1)
0000ca e0e7      	LDI  R30,HIGH(0x7D1)
0000cb 07be      	CPC  R27,R30
0000cc f1b4      	BRLT _0x15
                 ; 0000 0068 	           {
                 ; 0000 0069                	           temp_k = ds18b20_read(0);
0000cd e0a0      	LDI  R26,LOW(0)
0000ce df98      	RCALL _ds18b20_read
                +
0000cf 2f0e     +MOV R16 , R30
0000d0 2f1f     +MOV R17 , R31
                 	__PUTW1R 16,17
                 ; 0000 006A 	           temp_o = ds18b20_read(1);
0000d1 e0a1      	LDI  R26,LOW(1)
0000d2 df94      	RCALL _ds18b20_read
                +
0000d3 2f2e     +MOV R18 , R30
0000d4 2f3f     +MOV R19 , R31
                 	__PUTW1R 18,19
                 ; 0000 006B 	            if ((temp_o<15) && (rej ==1) && (temp_k <50))
                +
0000d5 302f     +CPI R18 , LOW ( 15 )
0000d6 e0e0     +LDI R30 , HIGH ( 15 )
0000d7 073e     +CPC R19 , R30
                 	__CPWRN 18,19,15
0000d8 f430      	BRSH _0x17
0000d9 fef0      	SBRS R15,0
0000da c004      	RJMP _0x17
                +
0000db 3302     +CPI R16 , LOW ( 50 )
0000dc e0e0     +LDI R30 , HIGH ( 50 )
0000dd 071e     +CPC R17 , R30
                 	__CPWRN 16,17,50
0000de f008      	BRLO _0x18
                 _0x17:
0000df c003      	RJMP _0x16
                 _0x18:
                 ; 0000 006C 	                {
                 ; 0000 006D 	                 PORTB.3 = 1; //1
0000e0 9ac3      	SBI  0x18,3
                 ; 0000 006E 	                 rej = 0;
0000e1 94e8      	CLT
0000e2 f8f0      	BLD  R15,0
                 ; 0000 006F 	                }
                 ; 0000 0070 	              if ((temp_o > 20) && (rej == 0))
                 _0x16:
                +
0000e3 3125     +CPI R18 , LOW ( 21 )
0000e4 e0e0     +LDI R30 , HIGH ( 21 )
0000e5 073e     +CPC R19 , R30
                 	__CPWRN 18,19,21
0000e6 f010      	BRLO _0x1C
0000e7 fef0      	SBRS R15,0
0000e8 c001      	RJMP _0x1D
                 _0x1C:
0000e9 c003      	RJMP _0x1B
                 _0x1D:
                 ; 0000 0071 	                {
                 ; 0000 0072 	                PORTB.3=0; //0
0000ea 98c3      	CBI  0x18,3
                 ; 0000 0073 	                rej = 1;
0000eb 9468      	SET
0000ec f8f0      	BLD  R15,0
                 ; 0000 0074 	                }
                 ; 0000 0075 	              if ((temp_k < 40) && (rej == 0))
                 _0x1B:
                +
0000ed 3208     +CPI R16 , LOW ( 40 )
0000ee e0e0     +LDI R30 , HIGH ( 40 )
0000ef 071e     +CPC R17 , R30
                 	__CPWRN 16,17,40
0000f0 f410      	BRSH _0x21
0000f1 fef0      	SBRS R15,0
0000f2 c001      	RJMP _0x22
                 _0x21:
0000f3 c001      	RJMP _0x20
                 _0x22:
                 ; 0000 0076 		               PORTB.3 =1;
0000f4 9ac3      	SBI  0x18,3
                 ; 0000 0077 	              if (temp_k > 50)
                 _0x20:
                +
0000f5 3303     +CPI R16 , LOW ( 51 )
0000f6 e0e0     +LDI R30 , HIGH ( 51 )
0000f7 071e     +CPC R17 , R30
                 	__CPWRN 16,17,51
0000f8 f008      	BRLO _0x25
                 ; 0000 0078 	            	  PORTB.3=0;
0000f9 98c3      	CBI  0x18,3
                 ; 0000 0079 	           cnt=0;
                 _0x25:
0000fa e0e0      	LDI  R30,LOW(0)
0000fb 93e0 0079 	STS  _cnt,R30
0000fd 93e0 007a 	STS  _cnt+1,R30
                 ; 0000 007A                if (temp_k == 0)
0000ff 2e00      	MOV  R0,R16
000100 2a01      	OR   R0,R17
000101 f409      	BRNE _0x28
                 ; 0000 007B                PORTB.1 = 1;
000102 9ac1      	SBI  0x18,1
                 ; 0000 007C 
                 ; 0000 007D       }
                 _0x28:
                 ; 0000 007E       }
                 _0x15:
000103 cfc1      	RJMP _0x12
                 ; 0000 007F }
                 _0x2B:
000104 cfff      	RJMP _0x2B
                 ; .FEND
                 
                 	.CSEG
                 _ds18b20_select:
                 ; .FSTART _ds18b20_select
000105 93aa      	ST   -Y,R26
000106 930a      	ST   -Y,R16
000107 d01c      	RCALL _w1_init
000108 30e0      	CPI  R30,0
000109 f411      	BRNE _0x2000003
00010a e0e0      	LDI  R30,LOW(0)
00010b c012      	RJMP _0x2020001
                 _0x2000003:
00010c 81e9      	LDD  R30,Y+1
00010d 30e0      	CPI  R30,0
00010e f061      	BREQ _0x2000004
00010f e5a5      	LDI  R26,LOW(85)
000110 d059      	RCALL _w1_write
000111 e000      	LDI  R16,LOW(0)
                 _0x2000006:
000112 81a9      	LDD  R26,Y+1
000113 91ed      	LD   R30,X+
000114 83a9      	STD  Y+1,R26
000115 2fae      	MOV  R26,R30
000116 d053      	RCALL _w1_write
000117 5f0f      	SUBI R16,-LOW(1)
000118 3008      	CPI  R16,8
000119 f3c0      	BRLO _0x2000006
00011a c002      	RJMP _0x2000008
                 _0x2000004:
00011b ecac      	LDI  R26,LOW(204)
00011c d04d      	RCALL _w1_write
                 _0x2000008:
00011d e0e1      	LDI  R30,LOW(1)
                 _0x2020001:
00011e 8108      	LDD  R16,Y+0
00011f 9622      	ADIW R28,2
000120 9508      	RET
                 ; .FEND
                 
                 	.DSEG
                 ___ds18b20_scratch_pad:
000070           	.BYTE 0x9
                 _cnt:
000079           	.BYTE 0x2
                 _addr1_S0000001000:
00007b           	.BYTE 0x8
                 _addr2_S0000001000:
000083           	.BYTE 0x8
                 
                 	.CSEG
                 ;OPTIMIZER ADDED SUBROUTINE, CALLED 2 TIMES, CODE SIZE REDUCTION:1 WORDS
                 SUBOPT_0x0:
                +
000121 2f2e     +MOV R18 , R30
000122 2f3f     +MOV R19 , R31
                 	__PUTW1R 18,19
000123 9508      	RET
                 
                 
                 	.CSEG
                 	.equ __w1_port=0x18
                 	.equ __w1_bit=0x02
                 
                 _w1_init:
000124 27ee      	clr  r30
000125 98c2      	cbi  __w1_port,__w1_bit
000126 9aba      	sbi  __w1_port-1,__w1_bit
                +
000127 ec80     +LDI R24 , LOW ( 0x3C0 )
000128 e093     +LDI R25 , HIGH ( 0x3C0 )
                +__DELAY_USW_LOOP :
000129 9701     +SBIW R24 , 1
00012a f7f1     +BRNE __DELAY_USW_LOOP
                 	__DELAY_USW 0x3C0
00012b 98ba      	cbi  __w1_port-1,__w1_bit
                +
00012c e285     +LDI R24 , LOW ( 0x25 )
                +__DELAY_USB_LOOP :
00012d 958a     +DEC R24
00012e f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0x25
00012f 9bb2      	sbis __w1_port-2,__w1_bit
000130 9508      	ret
                +
000131 ec8b     +LDI R24 , LOW ( 0xCB )
                +__DELAY_USB_LOOP :
000132 958a     +DEC R24
000133 f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0xCB
000134 9bb2      	sbis __w1_port-2,__w1_bit
000135 e0e1      	ldi  r30,1
                +
000136 e08c     +LDI R24 , LOW ( 0x30C )
000137 e093     +LDI R25 , HIGH ( 0x30C )
                +__DELAY_USW_LOOP :
000138 9701     +SBIW R24 , 1
000139 f7f1     +BRNE __DELAY_USW_LOOP
                 	__DELAY_USW 0x30C
00013a 9508      	ret
                 
                 __w1_read_bit:
00013b 9aba      	sbi  __w1_port-1,__w1_bit
                +
00013c e085     +LDI R24 , LOW ( 0x5 )
                +__DELAY_USB_LOOP :
00013d 958a     +DEC R24
00013e f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0x5
00013f 98ba      	cbi  __w1_port-1,__w1_bit
                +
000140 e18d     +LDI R24 , LOW ( 0x1D )
                +__DELAY_USB_LOOP :
000141 958a     +DEC R24
000142 f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0x1D
000143 9488      	clc
000144 99b2      	sbic __w1_port-2,__w1_bit
000145 9408      	sec
000146 95e7      	ror  r30
                +
000147 ed85     +LDI R24 , LOW ( 0xD5 )
                +__DELAY_USB_LOOP :
000148 958a     +DEC R24
000149 f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0xD5
00014a 9508      	ret
                 
                 __w1_write_bit:
00014b 94e8      	clt
00014c 9aba      	sbi  __w1_port-1,__w1_bit
                +
00014d e085     +LDI R24 , LOW ( 0x5 )
                +__DELAY_USB_LOOP :
00014e 958a     +DEC R24
00014f f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0x5
000150 fd70      	sbrc r23,0
000151 98ba      	cbi  __w1_port-1,__w1_bit
                +
000152 e283     +LDI R24 , LOW ( 0x23 )
                +__DELAY_USB_LOOP :
000153 958a     +DEC R24
000154 f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0x23
000155 99b2      	sbic __w1_port-2,__w1_bit
000156 c003      	rjmp __w1_write_bit0
000157 ff70      	sbrs r23,0
000158 c003      	rjmp __w1_write_bit1
000159 9508      	ret
                 __w1_write_bit0:
00015a ff70      	sbrs r23,0
00015b 9508      	ret
                 __w1_write_bit1:
                +
00015c ec88     +LDI R24 , LOW ( 0xC8 )
                +__DELAY_USB_LOOP :
00015d 958a     +DEC R24
00015e f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0xC8
00015f 98ba      	cbi  __w1_port-1,__w1_bit
                +
000160 e08d     +LDI R24 , LOW ( 0xD )
                +__DELAY_USB_LOOP :
000161 958a     +DEC R24
000162 f7f1     +BRNE __DELAY_USB_LOOP
                 	__DELAY_USB 0xD
000163 9468      	set
000164 9508      	ret
                 
                 _w1_read:
000165 e068      	ldi  r22,8
                 	__w1_read0:
000166 dfd4      	rcall __w1_read_bit
000167 956a      	dec  r22
000168 f7e9      	brne __w1_read0
000169 9508      	ret
                 
                 _w1_write:
00016a 2f7a      	mov  r23,r26
00016b e068      	ldi  r22,8
00016c 27ee      	clr  r30
                 __w1_write0:
00016d dfdd      	rcall __w1_write_bit
00016e f426      	brtc __w1_write1
00016f 9577      	ror  r23
000170 956a      	dec  r22
000171 f7d9      	brne __w1_write0
000172 95e3      	inc  r30
                 __w1_write1:
000173 9508      	ret
                 
                 __ASRW4:
000174 95f5      	ASR  R31
000175 95e7      	ROR  R30
                 __ASRW3:
000176 95f5      	ASR  R31
000177 95e7      	ROR  R30
                 __ASRW2:
000178 95f5      	ASR  R31
000179 95e7      	ROR  R30
00017a 95f5      	ASR  R31
00017b 95e7      	ROR  R30
00017c 9508      	RET
                 
                 __SAVELOCR4:
00017d 933a      	ST   -Y,R19
                 __SAVELOCR3:
00017e 932a      	ST   -Y,R18
                 __SAVELOCR2:
00017f 931a      	ST   -Y,R17
000180 930a      	ST   -Y,R16
000181 9508      	RET
                 
                 __LOADLOCR4:
000182 813b      	LDD  R19,Y+3
                 __LOADLOCR3:
000183 812a      	LDD  R18,Y+2
                 __LOADLOCR2:
000184 8119      	LDD  R17,Y+1
000185 8108      	LD   R16,Y
000186 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

ATtiny13A register use summary:
r0 :   9 r1 :   2 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:   6 
r16:  16 r17:  10 r18:   6 r19:   6 r20:   0 r21:   0 r22:   6 r23:   7 
r24:  29 r25:   3 r26:  34 r27:   5 r28:   5 r29:   0 r30: 101 r31:  19 
x  :   9 y  :  27 z  :   0 
Registers used: 18 out of 35 (51.4%)

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

Instructions used: 49 out of 114 (43.0%)

ATtiny13A memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x00030e    736     46    782    1024  76.4%
[.dseg] 0x000060 0x00008b      0     27     27      64  42.2%
[.eseg] 0x000000 0x000000      0      0      0      64   0.0%

Assembly complete, 0 errors, 0 warnings
