|
-
- PoolClockWaterTemp.elf: file format elf32-avr
-
- Sections:
- Idx Name Size VMA LMA File off Algn
- 0 .data 00000024 00800100 00000a6a 00000afe 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 1 .text 00000a6a 00000000 00000000 00000094 2**1
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .bss 00000004 00800124 00800124 00000b22 2**0
- ALLOC
- 3 .comment 00000030 00000000 00000000 00000b22 2**0
- CONTENTS, READONLY
- 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00000b54 2**2
- CONTENTS, READONLY
- 5 .debug_aranges 00000078 00000000 00000000 00000b94 2**0
- CONTENTS, READONLY, DEBUGGING
- 6 .debug_info 000022e0 00000000 00000000 00000c0c 2**0
- CONTENTS, READONLY, DEBUGGING
- 7 .debug_abbrev 00000861 00000000 00000000 00002eec 2**0
- CONTENTS, READONLY, DEBUGGING
- 8 .debug_line 00000ba9 00000000 00000000 0000374d 2**0
- CONTENTS, READONLY, DEBUGGING
- 9 .debug_frame 00000134 00000000 00000000 000042f8 2**2
- CONTENTS, READONLY, DEBUGGING
- 10 .debug_str 00000535 00000000 00000000 0000442c 2**0
- CONTENTS, READONLY, DEBUGGING
- 11 .debug_loc 00001d8e 00000000 00000000 00004961 2**0
- CONTENTS, READONLY, DEBUGGING
- 12 .debug_ranges 000000c8 00000000 00000000 000066ef 2**0
- CONTENTS, READONLY, DEBUGGING
-
- Disassembly of section .text:
-
- 00000000 <__vectors>:
- 0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
- 2: 33 c0 rjmp .+102 ; 0x6a <__bad_interrupt>
- 4: 32 c0 rjmp .+100 ; 0x6a <__bad_interrupt>
- 6: 31 c0 rjmp .+98 ; 0x6a <__bad_interrupt>
- 8: 30 c0 rjmp .+96 ; 0x6a <__bad_interrupt>
- a: 2f c0 rjmp .+94 ; 0x6a <__bad_interrupt>
- c: 2e c0 rjmp .+92 ; 0x6a <__bad_interrupt>
- e: 2d c0 rjmp .+90 ; 0x6a <__bad_interrupt>
- 10: 2c c0 rjmp .+88 ; 0x6a <__bad_interrupt>
- 12: 2b c0 rjmp .+86 ; 0x6a <__bad_interrupt>
- 14: 2a c0 rjmp .+84 ; 0x6a <__bad_interrupt>
- 16: 7f c0 rjmp .+254 ; 0x116 <__vector_11>
- 18: 28 c0 rjmp .+80 ; 0x6a <__bad_interrupt>
- 1a: 27 c0 rjmp .+78 ; 0x6a <__bad_interrupt>
- 1c: 26 c0 rjmp .+76 ; 0x6a <__bad_interrupt>
- 1e: 25 c0 rjmp .+74 ; 0x6a <__bad_interrupt>
- 20: 24 c0 rjmp .+72 ; 0x6a <__bad_interrupt>
- 22: 23 c0 rjmp .+70 ; 0x6a <__bad_interrupt>
- 24: 22 c0 rjmp .+68 ; 0x6a <__bad_interrupt>
- 26: 21 c0 rjmp .+66 ; 0x6a <__bad_interrupt>
- 28: 20 c0 rjmp .+64 ; 0x6a <__bad_interrupt>
- 2a: 1f c0 rjmp .+62 ; 0x6a <__bad_interrupt>
- 2c: 1e c0 rjmp .+60 ; 0x6a <__bad_interrupt>
- 2e: 1d c0 rjmp .+58 ; 0x6a <__bad_interrupt>
- 30: 1c c0 rjmp .+56 ; 0x6a <__bad_interrupt>
- 32: 1b c0 rjmp .+54 ; 0x6a <__bad_interrupt>
-
- 00000034 <__ctors_end>:
- 34: 11 24 eor r1, r1
- 36: 1f be out 0x3f, r1 ; 63
- 38: cf ef ldi r28, 0xFF ; 255
- 3a: d4 e0 ldi r29, 0x04 ; 4
- 3c: de bf out 0x3e, r29 ; 62
- 3e: cd bf out 0x3d, r28 ; 61
-
- 00000040 <__do_copy_data>:
- 40: 11 e0 ldi r17, 0x01 ; 1
- 42: a0 e0 ldi r26, 0x00 ; 0
- 44: b1 e0 ldi r27, 0x01 ; 1
- 46: ea e6 ldi r30, 0x6A ; 106
- 48: fa e0 ldi r31, 0x0A ; 10
- 4a: 02 c0 rjmp .+4 ; 0x50 <__do_copy_data+0x10>
- 4c: 05 90 lpm r0, Z+
- 4e: 0d 92 st X+, r0
- 50: a4 32 cpi r26, 0x24 ; 36
- 52: b1 07 cpc r27, r17
- 54: d9 f7 brne .-10 ; 0x4c <__do_copy_data+0xc>
-
- 00000056 <__do_clear_bss>:
- 56: 21 e0 ldi r18, 0x01 ; 1
- 58: a4 e2 ldi r26, 0x24 ; 36
- 5a: b1 e0 ldi r27, 0x01 ; 1
- 5c: 01 c0 rjmp .+2 ; 0x60 <.do_clear_bss_start>
-
- 0000005e <.do_clear_bss_loop>:
- 5e: 1d 92 st X+, r1
-
- 00000060 <.do_clear_bss_start>:
- 60: a8 32 cpi r26, 0x28 ; 40
- 62: b2 07 cpc r27, r18
- 64: e1 f7 brne .-8 ; 0x5e <.do_clear_bss_loop>
- 66: e2 d2 rcall .+1476 ; 0x62c <main>
- 68: fe c4 rjmp .+2556 ; 0xa66 <_exit>
-
- 0000006a <__bad_interrupt>:
- 6a: ca cf rjmp .-108 ; 0x0 <__vectors>
-
- 0000006c <s_vInit>:
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- g_au8Digits[DIGIT_ONES] = u8Ones;
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6c: 8f ef ldi r24, 0xFF ; 255
- 6e: 8a b9 out 0x0a, r24 ; 10
- 70: 87 e0 ldi r24, 0x07 ; 7
- 72: 84 b9 out 0x04, r24 ; 4
- 74: 80 e3 ldi r24, 0x30 ; 48
- 76: 88 b9 out 0x08, r24 ; 8
- 78: 10 92 80 00 sts 0x0080, r1 ; 0x800080 <__EEPROM_REGION_LENGTH__+0x7f0080>
- 7c: 8a e0 ldi r24, 0x0A ; 10
- 7e: 80 93 81 00 sts 0x0081, r24 ; 0x800081 <__EEPROM_REGION_LENGTH__+0x7f0081>
- 82: 84 ec ldi r24, 0xC4 ; 196
- 84: 99 e0 ldi r25, 0x09 ; 9
- 86: 90 93 89 00 sts 0x0089, r25 ; 0x800089 <__EEPROM_REGION_LENGTH__+0x7f0089>
- 8a: 80 93 88 00 sts 0x0088, r24 ; 0x800088 <__EEPROM_REGION_LENGTH__+0x7f0088>
- 8e: ef e6 ldi r30, 0x6F ; 111
- 90: f0 e0 ldi r31, 0x00 ; 0
- 92: 80 81 ld r24, Z
- 94: 82 60 ori r24, 0x02 ; 2
- 96: 80 83 st Z, r24
- 98: 78 94 sei
- 9a: 08 95 ret
-
- 0000009c <s_vSetValue>:
- 9c: 9d ec ldi r25, 0xCD ; 205
- 9e: 89 9f mul r24, r25
- a0: 91 2d mov r25, r1
- a2: 11 24 eor r1, r1
- a4: 96 95 lsr r25
- a6: 96 95 lsr r25
- a8: 96 95 lsr r25
- aa: e0 e0 ldi r30, 0x00 ; 0
- ac: f1 e0 ldi r31, 0x01 ; 1
- ae: 92 83 std Z+2, r25 ; 0x02
- b0: 99 0f add r25, r25
- b2: 29 2f mov r18, r25
- b4: 22 0f add r18, r18
- b6: 22 0f add r18, r18
- b8: 92 0f add r25, r18
- ba: 89 1b sub r24, r25
- bc: 81 83 std Z+1, r24 ; 0x01
- be: 60 83 st Z, r22
- c0: 08 95 ret
-
- 000000c2 <s_vReadButtons>:
- /************************************************************************/
- /* Read button status */
- /************************************************************************/
- void s_vReadButtons( void )
- {
- if ( !(PINC & (1<<PINC4)) ) //if button '+' pressed
- c2: 34 99 sbic 0x06, 4 ; 6
- c4: 06 c0 rjmp .+12 ; 0xd2 <s_vReadButtons+0x10>
- {
- g_u8ButtonCountTop++;
- c6: 80 91 27 01 lds r24, 0x0127 ; 0x800127 <g_u8ButtonCountTop>
- ca: 8f 5f subi r24, 0xFF ; 255
- cc: 80 93 27 01 sts 0x0127, r24 ; 0x800127 <g_u8ButtonCountTop>
- d0: 02 c0 rjmp .+4 ; 0xd6 <s_vReadButtons+0x14>
- }
- else
- {
- g_u8ButtonCountTop = 0U; //reset button counter
- d2: 10 92 27 01 sts 0x0127, r1 ; 0x800127 <g_u8ButtonCountTop>
- }
-
- if ( !(PINC & (1<<PINC5)) ) //if button '-' pressed
- d6: 35 99 sbic 0x06, 5 ; 6
- d8: 0a c0 rjmp .+20 ; 0xee <s_vReadButtons+0x2c>
- {
- g_u8ButtonCountBot++;
- da: 80 91 26 01 lds r24, 0x0126 ; 0x800126 <g_u8ButtonCountBot>
- de: 8f 5f subi r24, 0xFF ; 255
- e0: 80 93 26 01 sts 0x0126, r24 ; 0x800126 <g_u8ButtonCountBot>
- else
- {
- g_u8ButtonCountBot = 0U; //reset button counter
- }
-
- if ( g_u8ButtonCountTop > BUTTON_THRESHOLD )
- e4: 90 91 27 01 lds r25, 0x0127 ; 0x800127 <g_u8ButtonCountTop>
- e8: 93 33 cpi r25, 0x33 ; 51
- ea: 68 f0 brcs .+26 ; 0x106 <s_vReadButtons+0x44>
- ec: 06 c0 rjmp .+12 ; 0xfa <s_vReadButtons+0x38>
- {
- g_u8ButtonCountBot++;
- }
- else
- {
- g_u8ButtonCountBot = 0U; //reset button counter
- ee: 10 92 26 01 sts 0x0126, r1 ; 0x800126 <g_u8ButtonCountBot>
- }
-
- if ( g_u8ButtonCountTop > BUTTON_THRESHOLD )
- f2: 80 91 27 01 lds r24, 0x0127 ; 0x800127 <g_u8ButtonCountTop>
- f6: 83 33 cpi r24, 0x33 ; 51
- f8: 68 f0 brcs .+26 ; 0x114 <s_vReadButtons+0x52>
- {
- g_u8ButtonCountTop = 0U; //reset top counter
- fa: 10 92 27 01 sts 0x0127, r1 ; 0x800127 <g_u8ButtonCountTop>
- g_u8Mode = MODE_ANIMATION_1;
- fe: 81 e0 ldi r24, 0x01 ; 1
- 100: 80 93 25 01 sts 0x0125, r24 ; 0x800125 <g_u8Mode>
- 104: 08 95 ret
- }
- else if ( g_u8ButtonCountBot > BUTTON_THRESHOLD )
- 106: 83 33 cpi r24, 0x33 ; 51
- 108: 28 f0 brcs .+10 ; 0x114 <s_vReadButtons+0x52>
- {
- g_u8ButtonCountBot = 0U; //reset bottom counter
- 10a: 10 92 26 01 sts 0x0126, r1 ; 0x800126 <g_u8ButtonCountBot>
- g_u8Mode = MODE_ANIMATION_2;
- 10e: 82 e0 ldi r24, 0x02 ; 2
- 110: 80 93 25 01 sts 0x0125, r24 ; 0x800125 <g_u8Mode>
- 114: 08 95 ret
-
- 00000116 <__vector_11>:
-
- /************************************************************************/
- /* Timer1 ISR - show values on display */
- /************************************************************************/
- ISR ( TIMER1_COMPA_vect )
- {
- 116: 1f 92 push r1
- 118: 0f 92 push r0
- 11a: 0f b6 in r0, 0x3f ; 63
- 11c: 0f 92 push r0
- 11e: 11 24 eor r1, r1
- 120: 2f 93 push r18
- 122: 3f 93 push r19
- 124: 4f 93 push r20
- 126: 5f 93 push r21
- 128: 6f 93 push r22
- 12a: 7f 93 push r23
- 12c: 8f 93 push r24
- 12e: 9f 93 push r25
- 130: af 93 push r26
- 132: bf 93 push r27
- 134: ef 93 push r30
- 136: ff 93 push r31
- PORTB = 0;
- 138: 15 b8 out 0x05, r1 ; 5
- PORTD = 0;
- 13a: 1b b8 out 0x0b, r1 ; 11
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
-
- __builtin_avr_delay_cycles(__ticks_dc);
- 13c: 8d e0 ldi r24, 0x0D ; 13
- 13e: 8a 95 dec r24
- 140: f1 f7 brne .-4 ; 0x13e <__vector_11+0x28>
- 142: 00 00 nop
- _delay_us(2);
- PORTB = SELECT_DIGIT(g_u8ISRDigitSelect);
- 144: 81 e0 ldi r24, 0x01 ; 1
- 146: 90 e0 ldi r25, 0x00 ; 0
- 148: 00 90 24 01 lds r0, 0x0124 ; 0x800124 <__data_end>
- 14c: 02 c0 rjmp .+4 ; 0x152 <__vector_11+0x3c>
- 14e: 88 0f add r24, r24
- 150: 99 1f adc r25, r25
- 152: 0a 94 dec r0
- 154: e2 f7 brpl .-8 ; 0x14e <__vector_11+0x38>
- 156: 85 b9 out 0x05, r24 ; 5
- PORTD = g_au8Symbols[g_au8Digits[g_u8ISRDigitSelect]];
- 158: e0 91 24 01 lds r30, 0x0124 ; 0x800124 <__data_end>
- 15c: f0 e0 ldi r31, 0x00 ; 0
- 15e: e0 50 subi r30, 0x00 ; 0
- 160: ff 4f sbci r31, 0xFF ; 255
- 162: e0 81 ld r30, Z
- 164: f0 e0 ldi r31, 0x00 ; 0
- 166: ed 5f subi r30, 0xFD ; 253
- 168: fe 4f sbci r31, 0xFE ; 254
- 16a: 80 81 ld r24, Z
- 16c: 8b b9 out 0x0b, r24 ; 11
- g_u8ISRDigitSelect++;
- 16e: 80 91 24 01 lds r24, 0x0124 ; 0x800124 <__data_end>
- 172: 8f 5f subi r24, 0xFF ; 255
- if (g_u8ISRDigitSelect > 2U)
- 174: 83 30 cpi r24, 0x03 ; 3
- 176: 18 f4 brcc .+6 ; 0x17e <__vector_11+0x68>
- PORTB = 0;
- PORTD = 0;
- _delay_us(2);
- PORTB = SELECT_DIGIT(g_u8ISRDigitSelect);
- PORTD = g_au8Symbols[g_au8Digits[g_u8ISRDigitSelect]];
- g_u8ISRDigitSelect++;
- 178: 80 93 24 01 sts 0x0124, r24 ; 0x800124 <__data_end>
- 17c: 02 c0 rjmp .+4 ; 0x182 <__vector_11+0x6c>
- if (g_u8ISRDigitSelect > 2U)
- {
- g_u8ISRDigitSelect = 0U;
- 17e: 10 92 24 01 sts 0x0124, r1 ; 0x800124 <__data_end>
- }
-
- /* Read and evaluate button status */
- s_vReadButtons();
- 182: 9f df rcall .-194 ; 0xc2 <s_vReadButtons>
- }
- 184: ff 91 pop r31
- 186: ef 91 pop r30
- 188: bf 91 pop r27
- 18a: af 91 pop r26
- 18c: 9f 91 pop r25
- 18e: 8f 91 pop r24
- 190: 7f 91 pop r23
- 192: 6f 91 pop r22
- 194: 5f 91 pop r21
- 196: 4f 91 pop r20
- 198: 3f 91 pop r19
- 19a: 2f 91 pop r18
- 19c: 0f 90 pop r0
- 19e: 0f be out 0x3f, r0 ; 63
- 1a0: 0f 90 pop r0
- 1a2: 1f 90 pop r1
- 1a4: 18 95 reti
-
- 000001a6 <s_vShowAnim>:
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 1a6: e0 e0 ldi r30, 0x00 ; 0
- 1a8: f1 e0 ldi r31, 0x01 ; 1
- 1aa: 90 e1 ldi r25, 0x10 ; 16
- 1ac: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 1ae: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 1b0: 90 83 st Z, r25
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
-
- __builtin_avr_delay_cycles(__ticks_dc);
- 1b2: 2f eb ldi r18, 0xBF ; 191
- 1b4: 35 e4 ldi r19, 0x45 ; 69
- 1b6: 44 e0 ldi r20, 0x04 ; 4
- 1b8: 21 50 subi r18, 0x01 ; 1
- 1ba: 30 40 sbci r19, 0x00 ; 0
- 1bc: 40 40 sbci r20, 0x00 ; 0
- 1be: e1 f7 brne .-8 ; 0x1b8 <s_vShowAnim+0x12>
- 1c0: 00 c0 rjmp .+0 ; 0x1c2 <s_vShowAnim+0x1c>
- 1c2: 00 00 nop
- /************************************************************************/
- void s_vShowAnim( uint8_t u8Select )
- {
- s_vSetDisplayDigits( SYM_OFF, SYM_OFF, SYM_OFF );
- _delay_ms(ANIMATION_DELAY_MS);
- switch ( u8Select )
- 1c4: 81 30 cpi r24, 0x01 ; 1
- 1c6: 21 f0 breq .+8 ; 0x1d0 <s_vShowAnim+0x2a>
- 1c8: 82 30 cpi r24, 0x02 ; 2
- 1ca: 09 f4 brne .+2 ; 0x1ce <s_vShowAnim+0x28>
- 1cc: e2 c0 rjmp .+452 ; 0x392 <s_vShowAnim+0x1ec>
- 1ce: c1 c1 rjmp .+898 ; 0x552 <__stack+0x53>
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 1d0: e0 e0 ldi r30, 0x00 ; 0
- 1d2: f1 e0 ldi r31, 0x01 ; 1
- 1d4: 22 e1 ldi r18, 0x12 ; 18
- 1d6: 22 83 std Z+2, r18 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 1d8: 90 e1 ldi r25, 0x10 ; 16
- 1da: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 1dc: 90 83 st Z, r25
- 1de: 5f eb ldi r21, 0xBF ; 191
- 1e0: 65 e4 ldi r22, 0x45 ; 69
- 1e2: 74 e0 ldi r23, 0x04 ; 4
- 1e4: 51 50 subi r21, 0x01 ; 1
- 1e6: 60 40 sbci r22, 0x00 ; 0
- 1e8: 70 40 sbci r23, 0x00 ; 0
- 1ea: e1 f7 brne .-8 ; 0x1e4 <s_vShowAnim+0x3e>
- 1ec: 00 c0 rjmp .+0 ; 0x1ee <s_vShowAnim+0x48>
- 1ee: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 1f0: 3c e0 ldi r19, 0x0C ; 12
- 1f2: 32 83 std Z+2, r19 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 1f4: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 1f6: 90 83 st Z, r25
- 1f8: 8f eb ldi r24, 0xBF ; 191
- 1fa: a5 e4 ldi r26, 0x45 ; 69
- 1fc: 44 e0 ldi r20, 0x04 ; 4
- 1fe: 81 50 subi r24, 0x01 ; 1
- 200: a0 40 sbci r26, 0x00 ; 0
- 202: 40 40 sbci r20, 0x00 ; 0
- 204: e1 f7 brne .-8 ; 0x1fe <s_vShowAnim+0x58>
- 206: 00 c0 rjmp .+0 ; 0x208 <s_vShowAnim+0x62>
- 208: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 20a: 88 e0 ldi r24, 0x08 ; 8
- 20c: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 20e: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 210: 90 83 st Z, r25
- 212: 5f eb ldi r21, 0xBF ; 191
- 214: 65 e4 ldi r22, 0x45 ; 69
- 216: 74 e0 ldi r23, 0x04 ; 4
- 218: 51 50 subi r21, 0x01 ; 1
- 21a: 60 40 sbci r22, 0x00 ; 0
- 21c: 70 40 sbci r23, 0x00 ; 0
- 21e: e1 f7 brne .-8 ; 0x218 <s_vShowAnim+0x72>
- 220: 00 c0 rjmp .+0 ; 0x222 <s_vShowAnim+0x7c>
- 222: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 224: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 226: 21 83 std Z+1, r18 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 228: 90 83 st Z, r25
- 22a: af eb ldi r26, 0xBF ; 191
- 22c: 45 e4 ldi r20, 0x45 ; 69
- 22e: 54 e0 ldi r21, 0x04 ; 4
- 230: a1 50 subi r26, 0x01 ; 1
- 232: 40 40 sbci r20, 0x00 ; 0
- 234: 50 40 sbci r21, 0x00 ; 0
- 236: e1 f7 brne .-8 ; 0x230 <s_vShowAnim+0x8a>
- 238: 00 c0 rjmp .+0 ; 0x23a <s_vShowAnim+0x94>
- 23a: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 23c: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 23e: 31 83 std Z+1, r19 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 240: 90 83 st Z, r25
- 242: 6f eb ldi r22, 0xBF ; 191
- 244: 75 e4 ldi r23, 0x45 ; 69
- 246: a4 e0 ldi r26, 0x04 ; 4
- 248: 61 50 subi r22, 0x01 ; 1
- 24a: 70 40 sbci r23, 0x00 ; 0
- 24c: a0 40 sbci r26, 0x00 ; 0
- 24e: e1 f7 brne .-8 ; 0x248 <s_vShowAnim+0xa2>
- 250: 00 c0 rjmp .+0 ; 0x252 <s_vShowAnim+0xac>
- 252: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 254: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 256: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 258: 90 83 st Z, r25
- 25a: 4f eb ldi r20, 0xBF ; 191
- 25c: 55 e4 ldi r21, 0x45 ; 69
- 25e: 64 e0 ldi r22, 0x04 ; 4
- 260: 41 50 subi r20, 0x01 ; 1
- 262: 50 40 sbci r21, 0x00 ; 0
- 264: 60 40 sbci r22, 0x00 ; 0
- 266: e1 f7 brne .-8 ; 0x260 <s_vShowAnim+0xba>
- 268: 00 c0 rjmp .+0 ; 0x26a <s_vShowAnim+0xc4>
- 26a: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 26c: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 26e: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 270: 41 e0 ldi r20, 0x01 ; 1
- 272: 40 83 st Z, r20
- 274: 7f eb ldi r23, 0xBF ; 191
- 276: a5 e4 ldi r26, 0x45 ; 69
- 278: 54 e0 ldi r21, 0x04 ; 4
- 27a: 71 50 subi r23, 0x01 ; 1
- 27c: a0 40 sbci r26, 0x00 ; 0
- 27e: 50 40 sbci r21, 0x00 ; 0
- 280: e1 f7 brne .-8 ; 0x27a <s_vShowAnim+0xd4>
- 282: 00 c0 rjmp .+0 ; 0x284 <s_vShowAnim+0xde>
- 284: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 286: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 288: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 28a: 53 e0 ldi r21, 0x03 ; 3
- 28c: 50 83 st Z, r21
- 28e: 6f eb ldi r22, 0xBF ; 191
- 290: 75 e4 ldi r23, 0x45 ; 69
- 292: a4 e0 ldi r26, 0x04 ; 4
- 294: 61 50 subi r22, 0x01 ; 1
- 296: 70 40 sbci r23, 0x00 ; 0
- 298: a0 40 sbci r26, 0x00 ; 0
- 29a: e1 f7 brne .-8 ; 0x294 <s_vShowAnim+0xee>
- 29c: 00 c0 rjmp .+0 ; 0x29e <s_vShowAnim+0xf8>
- 29e: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 2a0: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 2a2: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 2a4: 80 83 st Z, r24
- 2a6: 6f eb ldi r22, 0xBF ; 191
- 2a8: 75 e4 ldi r23, 0x45 ; 69
- 2aa: a4 e0 ldi r26, 0x04 ; 4
- 2ac: 61 50 subi r22, 0x01 ; 1
- 2ae: 70 40 sbci r23, 0x00 ; 0
- 2b0: a0 40 sbci r26, 0x00 ; 0
- 2b2: e1 f7 brne .-8 ; 0x2ac <s_vShowAnim+0x106>
- 2b4: 00 c0 rjmp .+0 ; 0x2b6 <s_vShowAnim+0x110>
- 2b6: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 2b8: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 2ba: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 2bc: 80 83 st Z, r24
- 2be: 6f eb ldi r22, 0xBF ; 191
- 2c0: 75 e4 ldi r23, 0x45 ; 69
- 2c2: a4 e0 ldi r26, 0x04 ; 4
- 2c4: 61 50 subi r22, 0x01 ; 1
- 2c6: 70 40 sbci r23, 0x00 ; 0
- 2c8: a0 40 sbci r26, 0x00 ; 0
- 2ca: e1 f7 brne .-8 ; 0x2c4 <s_vShowAnim+0x11e>
- 2cc: 00 c0 rjmp .+0 ; 0x2ce <s_vShowAnim+0x128>
- 2ce: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 2d0: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 2d2: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 2d4: 50 83 st Z, r21
- 2d6: 5f eb ldi r21, 0xBF ; 191
- 2d8: 65 e4 ldi r22, 0x45 ; 69
- 2da: 74 e0 ldi r23, 0x04 ; 4
- 2dc: 51 50 subi r21, 0x01 ; 1
- 2de: 60 40 sbci r22, 0x00 ; 0
- 2e0: 70 40 sbci r23, 0x00 ; 0
- 2e2: e1 f7 brne .-8 ; 0x2dc <s_vShowAnim+0x136>
- 2e4: 00 c0 rjmp .+0 ; 0x2e6 <s_vShowAnim+0x140>
- 2e6: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 2e8: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 2ea: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 2ec: 40 83 st Z, r20
- 2ee: af eb ldi r26, 0xBF ; 191
- 2f0: 45 e4 ldi r20, 0x45 ; 69
- 2f2: 54 e0 ldi r21, 0x04 ; 4
- 2f4: a1 50 subi r26, 0x01 ; 1
- 2f6: 40 40 sbci r20, 0x00 ; 0
- 2f8: 50 40 sbci r21, 0x00 ; 0
- 2fa: e1 f7 brne .-8 ; 0x2f4 <s_vShowAnim+0x14e>
- 2fc: 00 c0 rjmp .+0 ; 0x2fe <s_vShowAnim+0x158>
- 2fe: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 300: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 302: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 304: 90 83 st Z, r25
- 306: 6f eb ldi r22, 0xBF ; 191
- 308: 75 e4 ldi r23, 0x45 ; 69
- 30a: a4 e0 ldi r26, 0x04 ; 4
- 30c: 61 50 subi r22, 0x01 ; 1
- 30e: 70 40 sbci r23, 0x00 ; 0
- 310: a0 40 sbci r26, 0x00 ; 0
- 312: e1 f7 brne .-8 ; 0x30c <s_vShowAnim+0x166>
- 314: 00 c0 rjmp .+0 ; 0x316 <s_vShowAnim+0x170>
- 316: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 318: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 31a: 31 83 std Z+1, r19 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 31c: 90 83 st Z, r25
- 31e: 4f eb ldi r20, 0xBF ; 191
- 320: 55 e4 ldi r21, 0x45 ; 69
- 322: 64 e0 ldi r22, 0x04 ; 4
- 324: 41 50 subi r20, 0x01 ; 1
- 326: 50 40 sbci r21, 0x00 ; 0
- 328: 60 40 sbci r22, 0x00 ; 0
- 32a: e1 f7 brne .-8 ; 0x324 <s_vShowAnim+0x17e>
- 32c: 00 c0 rjmp .+0 ; 0x32e <s_vShowAnim+0x188>
- 32e: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 330: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 332: 21 83 std Z+1, r18 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 334: 90 83 st Z, r25
- 336: 7f eb ldi r23, 0xBF ; 191
- 338: a5 e4 ldi r26, 0x45 ; 69
- 33a: 44 e0 ldi r20, 0x04 ; 4
- 33c: 71 50 subi r23, 0x01 ; 1
- 33e: a0 40 sbci r26, 0x00 ; 0
- 340: 40 40 sbci r20, 0x00 ; 0
- 342: e1 f7 brne .-8 ; 0x33c <s_vShowAnim+0x196>
- 344: 00 c0 rjmp .+0 ; 0x346 <s_vShowAnim+0x1a0>
- 346: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 348: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 34a: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 34c: 90 83 st Z, r25
- 34e: 5f eb ldi r21, 0xBF ; 191
- 350: 65 e4 ldi r22, 0x45 ; 69
- 352: 74 e0 ldi r23, 0x04 ; 4
- 354: 51 50 subi r21, 0x01 ; 1
- 356: 60 40 sbci r22, 0x00 ; 0
- 358: 70 40 sbci r23, 0x00 ; 0
- 35a: e1 f7 brne .-8 ; 0x354 <s_vShowAnim+0x1ae>
- 35c: 00 c0 rjmp .+0 ; 0x35e <s_vShowAnim+0x1b8>
- 35e: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 360: 32 83 std Z+2, r19 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 362: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 364: 90 83 st Z, r25
- 366: 8f eb ldi r24, 0xBF ; 191
- 368: a5 e4 ldi r26, 0x45 ; 69
- 36a: 34 e0 ldi r19, 0x04 ; 4
- 36c: 81 50 subi r24, 0x01 ; 1
- 36e: a0 40 sbci r26, 0x00 ; 0
- 370: 30 40 sbci r19, 0x00 ; 0
- 372: e1 f7 brne .-8 ; 0x36c <s_vShowAnim+0x1c6>
- 374: 00 c0 rjmp .+0 ; 0x376 <s_vShowAnim+0x1d0>
- 376: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 378: 22 83 std Z+2, r18 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 37a: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 37c: 90 83 st Z, r25
- 37e: 4f eb ldi r20, 0xBF ; 191
- 380: 55 e4 ldi r21, 0x45 ; 69
- 382: 64 e0 ldi r22, 0x04 ; 4
- 384: 41 50 subi r20, 0x01 ; 1
- 386: 50 40 sbci r21, 0x00 ; 0
- 388: 60 40 sbci r22, 0x00 ; 0
- 38a: e1 f7 brne .-8 ; 0x384 <s_vShowAnim+0x1de>
- 38c: 00 c0 rjmp .+0 ; 0x38e <s_vShowAnim+0x1e8>
- 38e: 00 00 nop
- 390: e0 c0 rjmp .+448 ; 0x552 <__stack+0x53>
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 392: e0 e0 ldi r30, 0x00 ; 0
- 394: f1 e0 ldi r31, 0x01 ; 1
- 396: 22 e1 ldi r18, 0x12 ; 18
- 398: 22 83 std Z+2, r18 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 39a: 80 e1 ldi r24, 0x10 ; 16
- 39c: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 39e: 80 83 st Z, r24
- 3a0: 7f eb ldi r23, 0xBF ; 191
- 3a2: 95 e4 ldi r25, 0x45 ; 69
- 3a4: a4 e0 ldi r26, 0x04 ; 4
- 3a6: 71 50 subi r23, 0x01 ; 1
- 3a8: 90 40 sbci r25, 0x00 ; 0
- 3aa: a0 40 sbci r26, 0x00 ; 0
- 3ac: e1 f7 brne .-8 ; 0x3a6 <s_vShowAnim+0x200>
- 3ae: 00 c0 rjmp .+0 ; 0x3b0 <s_vShowAnim+0x20a>
- 3b0: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 3b2: 3c e0 ldi r19, 0x0C ; 12
- 3b4: 32 83 std Z+2, r19 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 3b6: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 3b8: 80 83 st Z, r24
- 3ba: 4f eb ldi r20, 0xBF ; 191
- 3bc: 55 e4 ldi r21, 0x45 ; 69
- 3be: 64 e0 ldi r22, 0x04 ; 4
- 3c0: 41 50 subi r20, 0x01 ; 1
- 3c2: 50 40 sbci r21, 0x00 ; 0
- 3c4: 60 40 sbci r22, 0x00 ; 0
- 3c6: e1 f7 brne .-8 ; 0x3c0 <s_vShowAnim+0x21a>
- 3c8: 00 c0 rjmp .+0 ; 0x3ca <s_vShowAnim+0x224>
- 3ca: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 3cc: 98 e0 ldi r25, 0x08 ; 8
- 3ce: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 3d0: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 3d2: 80 83 st Z, r24
- 3d4: 7f eb ldi r23, 0xBF ; 191
- 3d6: a5 e4 ldi r26, 0x45 ; 69
- 3d8: 44 e0 ldi r20, 0x04 ; 4
- 3da: 71 50 subi r23, 0x01 ; 1
- 3dc: a0 40 sbci r26, 0x00 ; 0
- 3de: 40 40 sbci r20, 0x00 ; 0
- 3e0: e1 f7 brne .-8 ; 0x3da <s_vShowAnim+0x234>
- 3e2: 00 c0 rjmp .+0 ; 0x3e4 <s_vShowAnim+0x23e>
- 3e4: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 3e6: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 3e8: 21 83 std Z+1, r18 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 3ea: 80 83 st Z, r24
- 3ec: 5f eb ldi r21, 0xBF ; 191
- 3ee: 65 e4 ldi r22, 0x45 ; 69
- 3f0: 74 e0 ldi r23, 0x04 ; 4
- 3f2: 51 50 subi r21, 0x01 ; 1
- 3f4: 60 40 sbci r22, 0x00 ; 0
- 3f6: 70 40 sbci r23, 0x00 ; 0
- 3f8: e1 f7 brne .-8 ; 0x3f2 <s_vShowAnim+0x24c>
- 3fa: 00 c0 rjmp .+0 ; 0x3fc <s_vShowAnim+0x256>
- 3fc: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 3fe: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 400: 31 83 std Z+1, r19 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 402: 80 83 st Z, r24
- 404: af eb ldi r26, 0xBF ; 191
- 406: 45 e4 ldi r20, 0x45 ; 69
- 408: 54 e0 ldi r21, 0x04 ; 4
- 40a: a1 50 subi r26, 0x01 ; 1
- 40c: 40 40 sbci r20, 0x00 ; 0
- 40e: 50 40 sbci r21, 0x00 ; 0
- 410: e1 f7 brne .-8 ; 0x40a <__LOCK_REGION_LENGTH__+0xa>
- 412: 00 c0 rjmp .+0 ; 0x414 <__LOCK_REGION_LENGTH__+0x14>
- 414: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 416: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 418: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 41a: 80 83 st Z, r24
- 41c: 6f eb ldi r22, 0xBF ; 191
- 41e: 75 e4 ldi r23, 0x45 ; 69
- 420: a4 e0 ldi r26, 0x04 ; 4
- 422: 61 50 subi r22, 0x01 ; 1
- 424: 70 40 sbci r23, 0x00 ; 0
- 426: a0 40 sbci r26, 0x00 ; 0
- 428: e1 f7 brne .-8 ; 0x422 <__LOCK_REGION_LENGTH__+0x22>
- 42a: 00 c0 rjmp .+0 ; 0x42c <__LOCK_REGION_LENGTH__+0x2c>
- 42c: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 42e: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 430: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 432: 41 e0 ldi r20, 0x01 ; 1
- 434: 40 83 st Z, r20
- 436: 5f eb ldi r21, 0xBF ; 191
- 438: 65 e4 ldi r22, 0x45 ; 69
- 43a: 74 e0 ldi r23, 0x04 ; 4
- 43c: 51 50 subi r21, 0x01 ; 1
- 43e: 60 40 sbci r22, 0x00 ; 0
- 440: 70 40 sbci r23, 0x00 ; 0
- 442: e1 f7 brne .-8 ; 0x43c <__LOCK_REGION_LENGTH__+0x3c>
- 444: 00 c0 rjmp .+0 ; 0x446 <__LOCK_REGION_LENGTH__+0x46>
- 446: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 448: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 44a: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 44c: 53 e0 ldi r21, 0x03 ; 3
- 44e: 50 83 st Z, r21
- 450: af eb ldi r26, 0xBF ; 191
- 452: 65 e4 ldi r22, 0x45 ; 69
- 454: 74 e0 ldi r23, 0x04 ; 4
- 456: a1 50 subi r26, 0x01 ; 1
- 458: 60 40 sbci r22, 0x00 ; 0
- 45a: 70 40 sbci r23, 0x00 ; 0
- 45c: e1 f7 brne .-8 ; 0x456 <__LOCK_REGION_LENGTH__+0x56>
- 45e: 00 c0 rjmp .+0 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
- 460: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 462: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 464: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 466: 90 83 st Z, r25
- 468: af eb ldi r26, 0xBF ; 191
- 46a: 65 e4 ldi r22, 0x45 ; 69
- 46c: 74 e0 ldi r23, 0x04 ; 4
- 46e: a1 50 subi r26, 0x01 ; 1
- 470: 60 40 sbci r22, 0x00 ; 0
- 472: 70 40 sbci r23, 0x00 ; 0
- 474: e1 f7 brne .-8 ; 0x46e <__LOCK_REGION_LENGTH__+0x6e>
- 476: 00 c0 rjmp .+0 ; 0x478 <__LOCK_REGION_LENGTH__+0x78>
- 478: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 47a: 52 83 std Z+2, r21 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 47c: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 47e: 90 83 st Z, r25
- 480: af eb ldi r26, 0xBF ; 191
- 482: 65 e4 ldi r22, 0x45 ; 69
- 484: 74 e0 ldi r23, 0x04 ; 4
- 486: a1 50 subi r26, 0x01 ; 1
- 488: 60 40 sbci r22, 0x00 ; 0
- 48a: 70 40 sbci r23, 0x00 ; 0
- 48c: e1 f7 brne .-8 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
- 48e: 00 c0 rjmp .+0 ; 0x490 <__LOCK_REGION_LENGTH__+0x90>
- 490: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 492: 42 83 std Z+2, r20 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 494: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 496: 90 83 st Z, r25
- 498: af eb ldi r26, 0xBF ; 191
- 49a: 65 e4 ldi r22, 0x45 ; 69
- 49c: 74 e0 ldi r23, 0x04 ; 4
- 49e: a1 50 subi r26, 0x01 ; 1
- 4a0: 60 40 sbci r22, 0x00 ; 0
- 4a2: 70 40 sbci r23, 0x00 ; 0
- 4a4: e1 f7 brne .-8 ; 0x49e <__LOCK_REGION_LENGTH__+0x9e>
- 4a6: 00 c0 rjmp .+0 ; 0x4a8 <__LOCK_REGION_LENGTH__+0xa8>
- 4a8: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 4aa: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 4ac: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 4ae: 90 83 st Z, r25
- 4b0: af eb ldi r26, 0xBF ; 191
- 4b2: 65 e4 ldi r22, 0x45 ; 69
- 4b4: 74 e0 ldi r23, 0x04 ; 4
- 4b6: a1 50 subi r26, 0x01 ; 1
- 4b8: 60 40 sbci r22, 0x00 ; 0
- 4ba: 70 40 sbci r23, 0x00 ; 0
- 4bc: e1 f7 brne .-8 ; 0x4b6 <__LOCK_REGION_LENGTH__+0xb6>
- 4be: 00 c0 rjmp .+0 ; 0x4c0 <__LOCK_REGION_LENGTH__+0xc0>
- 4c0: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 4c2: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 4c4: 51 83 std Z+1, r21 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 4c6: 90 83 st Z, r25
- 4c8: af eb ldi r26, 0xBF ; 191
- 4ca: 55 e4 ldi r21, 0x45 ; 69
- 4cc: 64 e0 ldi r22, 0x04 ; 4
- 4ce: a1 50 subi r26, 0x01 ; 1
- 4d0: 50 40 sbci r21, 0x00 ; 0
- 4d2: 60 40 sbci r22, 0x00 ; 0
- 4d4: e1 f7 brne .-8 ; 0x4ce <__LOCK_REGION_LENGTH__+0xce>
- 4d6: 00 c0 rjmp .+0 ; 0x4d8 <__LOCK_REGION_LENGTH__+0xd8>
- 4d8: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 4da: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 4dc: 41 83 std Z+1, r20 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 4de: 90 83 st Z, r25
- 4e0: 7f eb ldi r23, 0xBF ; 191
- 4e2: a5 e4 ldi r26, 0x45 ; 69
- 4e4: 44 e0 ldi r20, 0x04 ; 4
- 4e6: 71 50 subi r23, 0x01 ; 1
- 4e8: a0 40 sbci r26, 0x00 ; 0
- 4ea: 40 40 sbci r20, 0x00 ; 0
- 4ec: e1 f7 brne .-8 ; 0x4e6 <__LOCK_REGION_LENGTH__+0xe6>
- 4ee: 00 c0 rjmp .+0 ; 0x4f0 <__LOCK_REGION_LENGTH__+0xf0>
- 4f0: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 4f2: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 4f4: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 4f6: 90 83 st Z, r25
- 4f8: 5f eb ldi r21, 0xBF ; 191
- 4fa: 65 e4 ldi r22, 0x45 ; 69
- 4fc: 74 e0 ldi r23, 0x04 ; 4
- 4fe: 51 50 subi r21, 0x01 ; 1
- 500: 60 40 sbci r22, 0x00 ; 0
- 502: 70 40 sbci r23, 0x00 ; 0
- 504: e1 f7 brne .-8 ; 0x4fe <__LOCK_REGION_LENGTH__+0xfe>
- 506: 00 c0 rjmp .+0 ; 0x508 <__stack+0x9>
- 508: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 50a: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 50c: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 50e: 30 83 st Z, r19
- 510: 9f eb ldi r25, 0xBF ; 191
- 512: a5 e4 ldi r26, 0x45 ; 69
- 514: 34 e0 ldi r19, 0x04 ; 4
- 516: 91 50 subi r25, 0x01 ; 1
- 518: a0 40 sbci r26, 0x00 ; 0
- 51a: 30 40 sbci r19, 0x00 ; 0
- 51c: e1 f7 brne .-8 ; 0x516 <__stack+0x17>
- 51e: 00 c0 rjmp .+0 ; 0x520 <__stack+0x21>
- 520: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 522: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 524: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 526: 20 83 st Z, r18
- 528: 4f eb ldi r20, 0xBF ; 191
- 52a: 55 e4 ldi r21, 0x45 ; 69
- 52c: 64 e0 ldi r22, 0x04 ; 4
- 52e: 41 50 subi r20, 0x01 ; 1
- 530: 50 40 sbci r21, 0x00 ; 0
- 532: 60 40 sbci r22, 0x00 ; 0
- 534: e1 f7 brne .-8 ; 0x52e <__stack+0x2f>
- 536: 00 c0 rjmp .+0 ; 0x538 <__stack+0x39>
- 538: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 53a: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 53c: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 53e: 80 83 st Z, r24
- 540: 7f eb ldi r23, 0xBF ; 191
- 542: 85 e4 ldi r24, 0x45 ; 69
- 544: 94 e0 ldi r25, 0x04 ; 4
- 546: 71 50 subi r23, 0x01 ; 1
- 548: 80 40 sbci r24, 0x00 ; 0
- 54a: 90 40 sbci r25, 0x00 ; 0
- 54c: e1 f7 brne .-8 ; 0x546 <__stack+0x47>
- 54e: 00 c0 rjmp .+0 ; 0x550 <__stack+0x51>
- 550: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 552: e0 e0 ldi r30, 0x00 ; 0
- 554: f1 e0 ldi r31, 0x01 ; 1
- 556: 80 e1 ldi r24, 0x10 ; 16
- 558: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 55a: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 55c: 80 83 st Z, r24
- 55e: af eb ldi r26, 0xBF ; 191
- 560: 25 e4 ldi r18, 0x45 ; 69
- 562: 34 e0 ldi r19, 0x04 ; 4
- 564: a1 50 subi r26, 0x01 ; 1
- 566: 20 40 sbci r18, 0x00 ; 0
- 568: 30 40 sbci r19, 0x00 ; 0
- 56a: e1 f7 brne .-8 ; 0x564 <__stack+0x65>
- 56c: 00 c0 rjmp .+0 ; 0x56e <__stack+0x6f>
- 56e: 00 00 nop
- 570: 08 95 ret
-
- 00000572 <s_u8DS18B20_Reset>:
- uint8_t s_u8DS18B20_Reset( void )
- {
- uint8_t u8Status;
-
- //low for 480 us
- DS18B20_PORT &= ~ (1<<DS18B20_DQ); //low
- 572: 43 98 cbi 0x08, 3 ; 8
- DS18B20_DDR |= (1<<DS18B20_DQ); //output
- 574: 3b 9a sbi 0x07, 3 ; 7
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
-
- __builtin_avr_delay_cycles(__ticks_dc);
- 576: 8f e5 ldi r24, 0x5F ; 95
- 578: 99 e0 ldi r25, 0x09 ; 9
- 57a: 01 97 sbiw r24, 0x01 ; 1
- 57c: f1 f7 brne .-4 ; 0x57a <s_u8DS18B20_Reset+0x8>
- 57e: 00 c0 rjmp .+0 ; 0x580 <s_u8DS18B20_Reset+0xe>
- 580: 00 00 nop
- _delay_us(480);
-
- //release line and wait for 60 us
- DS18B20_DDR &= ~(1<<DS18B20_DQ); //input
- 582: 3b 98 cbi 0x07, 3 ; 7
- 584: eb e2 ldi r30, 0x2B ; 43
- 586: f1 e0 ldi r31, 0x01 ; 1
- 588: 31 97 sbiw r30, 0x01 ; 1
- 58a: f1 f7 brne .-4 ; 0x588 <s_u8DS18B20_Reset+0x16>
- 58c: 00 c0 rjmp .+0 ; 0x58e <s_u8DS18B20_Reset+0x1c>
- 58e: 00 00 nop
- _delay_us(60);
-
- //get value and wait 420 us
- u8Status = (DS18B20_PIN & (1<<DS18B20_DQ));
- 590: 86 b1 in r24, 0x06 ; 6
- 592: e3 e3 ldi r30, 0x33 ; 51
- 594: f8 e0 ldi r31, 0x08 ; 8
- 596: 31 97 sbiw r30, 0x01 ; 1
- 598: f1 f7 brne .-4 ; 0x596 <s_u8DS18B20_Reset+0x24>
- 59a: 00 c0 rjmp .+0 ; 0x59c <s_u8DS18B20_Reset+0x2a>
- 59c: 00 00 nop
- _delay_us(420);
-
- //return the read value: 0=okay, 1=error
- return u8Status;
- }
- 59e: 88 70 andi r24, 0x08 ; 8
- 5a0: 08 95 ret
-
- 000005a2 <s_vDS18B20_WriteBit>:
- /* Write single bit to DS18B20 (61 us) */
- /************************************************************************/
- void s_vDS18B20_WriteBit( uint8_t u8Bit )
- {
- //low for 1 us
- DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low
- 5a2: 43 98 cbi 0x08, 3 ; 8
- DS18B20_DDR |= (1U<<DS18B20_DQ); //output
- 5a4: 3b 9a sbi 0x07, 3 ; 7
- 5a6: 96 e0 ldi r25, 0x06 ; 6
- 5a8: 9a 95 dec r25
- 5aa: f1 f7 brne .-4 ; 0x5a8 <s_vDS18B20_WriteBit+0x6>
- 5ac: 00 c0 rjmp .+0 ; 0x5ae <s_vDS18B20_WriteBit+0xc>
- _delay_us(1);
-
- //if we want to write 1, release the line (if not will keep low)
- if (1U == u8Bit )
- 5ae: 81 30 cpi r24, 0x01 ; 1
- 5b0: 09 f4 brne .+2 ; 0x5b4 <s_vDS18B20_WriteBit+0x12>
- {
- DS18B20_DDR &= ~(1<<DS18B20_DQ); //input
- 5b2: 3b 98 cbi 0x07, 3 ; 7
- 5b4: 8b e2 ldi r24, 0x2B ; 43
- 5b6: 91 e0 ldi r25, 0x01 ; 1
- 5b8: 01 97 sbiw r24, 0x01 ; 1
- 5ba: f1 f7 brne .-4 ; 0x5b8 <s_vDS18B20_WriteBit+0x16>
- 5bc: 00 c0 rjmp .+0 ; 0x5be <s_vDS18B20_WriteBit+0x1c>
- 5be: 00 00 nop
- }
-
- //wait 60 us and release the line
- _delay_us(60);
- DS18B20_DDR &= ~(1<<DS18B20_DQ); //input
- 5c0: 3b 98 cbi 0x07, 3 ; 7
- 5c2: 08 95 ret
-
- 000005c4 <s_vDS18B20_WriteByte>:
-
- /************************************************************************/
- /* Write byte to DS18B20 (8 * 61 us = 488 us) */
- /************************************************************************/
- void s_vDS18B20_WriteByte( uint8_t u8Byte )
- {
- 5c4: cf 93 push r28
- 5c6: df 93 push r29
- 5c8: d8 2f mov r29, r24
- 5ca: c8 e0 ldi r28, 0x08 ; 8
- uint8_t u8Bits = 8U;
-
- while ( u8Bits-- )
- {
- s_vDS18B20_WriteBit( u8Byte & 1U );
- 5cc: 8d 2f mov r24, r29
- 5ce: 81 70 andi r24, 0x01 ; 1
- 5d0: e8 df rcall .-48 ; 0x5a2 <s_vDS18B20_WriteBit>
- u8Byte >>= 1U;
- 5d2: d6 95 lsr r29
- 5d4: c1 50 subi r28, 0x01 ; 1
- /************************************************************************/
- void s_vDS18B20_WriteByte( uint8_t u8Byte )
- {
- uint8_t u8Bits = 8U;
-
- while ( u8Bits-- )
- 5d6: d1 f7 brne .-12 ; 0x5cc <s_vDS18B20_WriteByte+0x8>
- s_vDS18B20_WriteBit( u8Byte & 1U );
- u8Byte >>= 1U;
- }
-
- return; //void
- }
- 5d8: df 91 pop r29
- 5da: cf 91 pop r28
- 5dc: 08 95 ret
-
- 000005de <s_u8DS18B20_ReadBit>:
- uint8_t s_u8DS18B20_ReadBit( void )
- {
- uint8_t u8Bit = 0U;
-
- //low for 1 us
- DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low
- 5de: 43 98 cbi 0x08, 3 ; 8
- DS18B20_DDR |= (1U<<DS18B20_DQ); //output
- 5e0: 3b 9a sbi 0x07, 3 ; 7
- 5e2: 86 e0 ldi r24, 0x06 ; 6
- 5e4: 8a 95 dec r24
- 5e6: f1 f7 brne .-4 ; 0x5e4 <s_u8DS18B20_ReadBit+0x6>
- 5e8: 00 c0 rjmp .+0 ; 0x5ea <s_u8DS18B20_ReadBit+0xc>
- _delay_us(1);
-
- //release line and wait for 14 us
- DS18B20_DDR &= ~(1U<<DS18B20_DQ); //input
- 5ea: 3b 98 cbi 0x07, 3 ; 7
- 5ec: ed e5 ldi r30, 0x5D ; 93
- 5ee: ea 95 dec r30
- 5f0: f1 f7 brne .-4 ; 0x5ee <s_u8DS18B20_ReadBit+0x10>
- 5f2: 00 00 nop
- _delay_us(14);
-
- //read the value
- if ( DS18B20_PIN & (1U<<DS18B20_DQ) )
- 5f4: 86 b1 in r24, 0x06 ; 6
- 5f6: e0 ee ldi r30, 0xE0 ; 224
- 5f8: f0 e0 ldi r31, 0x00 ; 0
- 5fa: 31 97 sbiw r30, 0x01 ; 1
- 5fc: f1 f7 brne .-4 ; 0x5fa <s_u8DS18B20_ReadBit+0x1c>
- 5fe: 00 c0 rjmp .+0 ; 0x600 <s_u8DS18B20_ReadBit+0x22>
- 600: 00 00 nop
-
- //wait 45 us and return read value
- _delay_us(45);
-
- return u8Bit;
- }
- 602: 83 fb bst r24, 3
- 604: 88 27 eor r24, r24
- 606: 80 f9 bld r24, 0
- 608: 08 95 ret
-
- 0000060a <s_u8DS18B20_ReadByte>:
-
- /************************************************************************/
- /* Read byte from DS18B20 (8 * 60 us = 480 us) */
- /************************************************************************/
- uint8_t s_u8DS18B20_ReadByte( void )
- {
- 60a: cf 93 push r28
- 60c: df 93 push r29
- 60e: d8 e0 ldi r29, 0x08 ; 8
- uint8_t u8Bits = 8U;
- uint8_t n = 0U;
- 610: c0 e0 ldi r28, 0x00 ; 0
- while ( u8Bits-- )
- {
- n >>= 1U;
- n |= (s_u8DS18B20_ReadBit()<<7U);
- 612: e5 df rcall .-54 ; 0x5de <s_u8DS18B20_ReadBit>
- 614: 20 e8 ldi r18, 0x80 ; 128
- 616: 82 9f mul r24, r18
- 618: c0 01 movw r24, r0
- 61a: 11 24 eor r1, r1
- 61c: c6 95 lsr r28
- 61e: c8 2b or r28, r24
- 620: d1 50 subi r29, 0x01 ; 1
- /************************************************************************/
- uint8_t s_u8DS18B20_ReadByte( void )
- {
- uint8_t u8Bits = 8U;
- uint8_t n = 0U;
- while ( u8Bits-- )
- 622: b9 f7 brne .-18 ; 0x612 <s_u8DS18B20_ReadByte+0x8>
- n >>= 1U;
- n |= (s_u8DS18B20_ReadBit()<<7U);
- }
-
- return n;
- }
- 624: 8c 2f mov r24, r28
- 626: df 91 pop r29
- 628: cf 91 pop r28
- 62a: 08 95 ret
-
- 0000062c <main>:
- uint8_t u8TempLo, u8TempHi;
- float f32Temperature;
- uint8_t u8Loop = 0U;
-
- /* Init I/O: */
- s_vInit();
- 62c: 1f dd rcall .-1474 ; 0x6c <s_vInit>
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 62e: e0 e0 ldi r30, 0x00 ; 0
- 630: f1 e0 ldi r31, 0x01 ; 1
- 632: 80 e1 ldi r24, 0x10 ; 16
- 634: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 636: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 638: 80 83 st Z, r24
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
-
- __builtin_avr_delay_cycles(__ticks_dc);
- 63a: af e4 ldi r26, 0x4F ; 79
- 63c: b3 ec ldi r27, 0xC3 ; 195
- 63e: 11 97 sbiw r26, 0x01 ; 1
- 640: f1 f7 brne .-4 ; 0x63e <main+0x12>
- 642: 00 c0 rjmp .+0 ; 0x644 <main+0x18>
- 644: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 646: 93 e1 ldi r25, 0x13 ; 19
- 648: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 64a: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 64c: 80 83 st Z, r24
- 64e: bf e7 ldi r27, 0x7F ; 127
- 650: cf e4 ldi r28, 0x4F ; 79
- 652: 22 e1 ldi r18, 0x12 ; 18
- 654: b1 50 subi r27, 0x01 ; 1
- 656: c0 40 sbci r28, 0x00 ; 0
- 658: 20 40 sbci r18, 0x00 ; 0
- 65a: e1 f7 brne .-8 ; 0x654 <main+0x28>
- 65c: 00 c0 rjmp .+0 ; 0x65e <main+0x32>
- 65e: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 660: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 662: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 664: 80 83 st Z, r24
- 666: 3f e7 ldi r19, 0x7F ; 127
- 668: 4f e4 ldi r20, 0x4F ; 79
- 66a: 82 e1 ldi r24, 0x12 ; 18
- 66c: 31 50 subi r19, 0x01 ; 1
- 66e: 40 40 sbci r20, 0x00 ; 0
- 670: 80 40 sbci r24, 0x00 ; 0
- 672: e1 f7 brne .-8 ; 0x66c <main+0x40>
- 674: 00 c0 rjmp .+0 ; 0x676 <main+0x4a>
- 676: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 678: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 67a: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 67c: 86 e1 ldi r24, 0x16 ; 22
- 67e: 80 83 st Z, r24
- 680: 9f e7 ldi r25, 0x7F ; 127
- 682: af e4 ldi r26, 0x4F ; 79
- 684: b2 e1 ldi r27, 0x12 ; 18
- 686: 91 50 subi r25, 0x01 ; 1
- 688: a0 40 sbci r26, 0x00 ; 0
- 68a: b0 40 sbci r27, 0x00 ; 0
- 68c: e1 f7 brne .-8 ; 0x686 <main+0x5a>
- 68e: 00 c0 rjmp .+0 ; 0x690 <main+0x64>
- 690: 00 00 nop
- 692: 35 e0 ldi r19, 0x05 ; 5
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 694: 80 e1 ldi r24, 0x10 ; 16
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 696: 23 e1 ldi r18, 0x13 ; 19
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 698: 7c e1 ldi r23, 0x1C ; 28
- 69a: 6d e1 ldi r22, 0x1D ; 29
- 69c: 5e e1 ldi r21, 0x1E ; 30
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 69e: 96 e1 ldi r25, 0x16 ; 22
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6a0: 4f e1 ldi r20, 0x1F ; 31
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 6a2: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 6a4: 21 83 std Z+1, r18 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6a6: 70 83 st Z, r23
- 6a8: cf eb ldi r28, 0xBF ; 191
- 6aa: a5 e4 ldi r26, 0x45 ; 69
- 6ac: b4 e0 ldi r27, 0x04 ; 4
- 6ae: c1 50 subi r28, 0x01 ; 1
- 6b0: a0 40 sbci r26, 0x00 ; 0
- 6b2: b0 40 sbci r27, 0x00 ; 0
- 6b4: e1 f7 brne .-8 ; 0x6ae <main+0x82>
- 6b6: 00 c0 rjmp .+0 ; 0x6b8 <main+0x8c>
- 6b8: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 6ba: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 6bc: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6be: 60 83 st Z, r22
- 6c0: cf eb ldi r28, 0xBF ; 191
- 6c2: a5 e4 ldi r26, 0x45 ; 69
- 6c4: b4 e0 ldi r27, 0x04 ; 4
- 6c6: c1 50 subi r28, 0x01 ; 1
- 6c8: a0 40 sbci r26, 0x00 ; 0
- 6ca: b0 40 sbci r27, 0x00 ; 0
- 6cc: e1 f7 brne .-8 ; 0x6c6 <main+0x9a>
- 6ce: 00 c0 rjmp .+0 ; 0x6d0 <main+0xa4>
- 6d0: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 6d2: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 6d4: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6d6: 50 83 st Z, r21
- 6d8: cf eb ldi r28, 0xBF ; 191
- 6da: a5 e4 ldi r26, 0x45 ; 69
- 6dc: b4 e0 ldi r27, 0x04 ; 4
- 6de: c1 50 subi r28, 0x01 ; 1
- 6e0: a0 40 sbci r26, 0x00 ; 0
- 6e2: b0 40 sbci r27, 0x00 ; 0
- 6e4: e1 f7 brne .-8 ; 0x6de <main+0xb2>
- 6e6: 00 c0 rjmp .+0 ; 0x6e8 <main+0xbc>
- 6e8: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 6ea: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 6ec: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6ee: 40 83 st Z, r20
- 6f0: cf eb ldi r28, 0xBF ; 191
- 6f2: a5 e4 ldi r26, 0x45 ; 69
- 6f4: b4 e0 ldi r27, 0x04 ; 4
- 6f6: c1 50 subi r28, 0x01 ; 1
- 6f8: a0 40 sbci r26, 0x00 ; 0
- 6fa: b0 40 sbci r27, 0x00 ; 0
- 6fc: e1 f7 brne .-8 ; 0x6f6 <main+0xca>
- 6fe: 00 c0 rjmp .+0 ; 0x700 <main+0xd4>
- 700: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 702: 92 83 std Z+2, r25 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 704: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 706: 20 83 st Z, r18
- 708: cf eb ldi r28, 0xBF ; 191
- 70a: a5 e4 ldi r26, 0x45 ; 69
- 70c: b4 e0 ldi r27, 0x04 ; 4
- 70e: c1 50 subi r28, 0x01 ; 1
- 710: a0 40 sbci r26, 0x00 ; 0
- 712: b0 40 sbci r27, 0x00 ; 0
- 714: e1 f7 brne .-8 ; 0x70e <main+0xe2>
- 716: 00 c0 rjmp .+0 ; 0x718 <main+0xec>
- 718: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 71a: 72 83 std Z+2, r23 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 71c: 91 83 std Z+1, r25 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 71e: 80 83 st Z, r24
- 720: cf eb ldi r28, 0xBF ; 191
- 722: a5 e4 ldi r26, 0x45 ; 69
- 724: b4 e0 ldi r27, 0x04 ; 4
- 726: c1 50 subi r28, 0x01 ; 1
- 728: a0 40 sbci r26, 0x00 ; 0
- 72a: b0 40 sbci r27, 0x00 ; 0
- 72c: e1 f7 brne .-8 ; 0x726 <main+0xfa>
- 72e: 00 c0 rjmp .+0 ; 0x730 <main+0x104>
- 730: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 732: 62 83 std Z+2, r22 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 734: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 736: 80 83 st Z, r24
- 738: cf eb ldi r28, 0xBF ; 191
- 73a: a5 e4 ldi r26, 0x45 ; 69
- 73c: b4 e0 ldi r27, 0x04 ; 4
- 73e: c1 50 subi r28, 0x01 ; 1
- 740: a0 40 sbci r26, 0x00 ; 0
- 742: b0 40 sbci r27, 0x00 ; 0
- 744: e1 f7 brne .-8 ; 0x73e <main+0x112>
- 746: 00 c0 rjmp .+0 ; 0x748 <main+0x11c>
- 748: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 74a: 52 83 std Z+2, r21 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 74c: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 74e: 80 83 st Z, r24
- 750: cf eb ldi r28, 0xBF ; 191
- 752: a5 e4 ldi r26, 0x45 ; 69
- 754: b4 e0 ldi r27, 0x04 ; 4
- 756: c1 50 subi r28, 0x01 ; 1
- 758: a0 40 sbci r26, 0x00 ; 0
- 75a: b0 40 sbci r27, 0x00 ; 0
- 75c: e1 f7 brne .-8 ; 0x756 <main+0x12a>
- 75e: 00 c0 rjmp .+0 ; 0x760 <main+0x134>
- 760: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 762: 42 83 std Z+2, r20 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 764: 21 83 std Z+1, r18 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 766: 80 83 st Z, r24
- 768: cf eb ldi r28, 0xBF ; 191
- 76a: a5 e4 ldi r26, 0x45 ; 69
- 76c: b4 e0 ldi r27, 0x04 ; 4
- 76e: c1 50 subi r28, 0x01 ; 1
- 770: a0 40 sbci r26, 0x00 ; 0
- 772: b0 40 sbci r27, 0x00 ; 0
- 774: e1 f7 brne .-8 ; 0x76e <main+0x142>
- 776: 00 c0 rjmp .+0 ; 0x778 <main+0x14c>
- 778: 00 00 nop
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 77a: 22 83 std Z+2, r18 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 77c: 21 83 std Z+1, r18 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 77e: 90 83 st Z, r25
- 780: cf eb ldi r28, 0xBF ; 191
- 782: a5 e4 ldi r26, 0x45 ; 69
- 784: b4 e0 ldi r27, 0x04 ; 4
- 786: c1 50 subi r28, 0x01 ; 1
- 788: a0 40 sbci r26, 0x00 ; 0
- 78a: b0 40 sbci r27, 0x00 ; 0
- 78c: e1 f7 brne .-8 ; 0x786 <main+0x15a>
- 78e: 00 c0 rjmp .+0 ; 0x790 <main+0x164>
- 790: 00 00 nop
- 792: 31 50 subi r19, 0x01 ; 1
- s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_OFF );
- _delay_ms(300);
- s_vSetDisplayDigits( SYM_SEG_A, SYM_SEG_A, SYM_SEG_D );
- _delay_ms(300);
-
- while ( u8Loop < 5U )
- 794: 09 f0 breq .+2 ; 0x798 <main+0x16c>
- 796: 85 cf rjmp .-246 ; 0x6a2 <main+0x76>
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void s_vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 798: e0 e0 ldi r30, 0x00 ; 0
- 79a: f1 e0 ldi r31, 0x01 ; 1
- 79c: 80 e1 ldi r24, 0x10 ; 16
- 79e: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 7a0: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 7a2: 80 83 st Z, r24
- while ( 1 )
- {
-
-
- /* perform mode action */
- switch ( g_u8Mode )
- 7a4: 80 91 25 01 lds r24, 0x0125 ; 0x800125 <g_u8Mode>
- 7a8: 81 30 cpi r24, 0x01 ; 1
- 7aa: b1 f1 breq .+108 ; 0x818 <main+0x1ec>
- 7ac: 18 f0 brcs .+6 ; 0x7b4 <main+0x188>
- 7ae: 82 30 cpi r24, 0x02 ; 2
- 7b0: c1 f1 breq .+112 ; 0x822 <main+0x1f6>
- 7b2: fa cf rjmp .-12 ; 0x7a8 <main+0x17c>
- {
- case MODE_MEASURE:
- (void) s_u8DS18B20_Reset();
- 7b4: de de rcall .-580 ; 0x572 <s_u8DS18B20_Reset>
- s_vDS18B20_WriteByte( DS18B20_CMD_SKIPROM );
- 7b6: 8c ec ldi r24, 0xCC ; 204
- 7b8: 05 df rcall .-502 ; 0x5c4 <s_vDS18B20_WriteByte>
- s_vDS18B20_WriteByte( DS18B20_CMD_CONVERTTEMP );
- 7ba: 84 e4 ldi r24, 0x44 ; 68
- 7bc: 03 df rcall .-506 ; 0x5c4 <s_vDS18B20_WriteByte>
- while ( !s_u8DS18B20_ReadBit() );
- 7be: 0f df rcall .-482 ; 0x5de <s_u8DS18B20_ReadBit>
- 7c0: 88 23 and r24, r24
- 7c2: e9 f3 breq .-6 ; 0x7be <main+0x192>
- (void) s_u8DS18B20_Reset();
- 7c4: d6 de rcall .-596 ; 0x572 <s_u8DS18B20_Reset>
- s_vDS18B20_WriteByte( DS18B20_CMD_SKIPROM );
- 7c6: 8c ec ldi r24, 0xCC ; 204
- 7c8: fd de rcall .-518 ; 0x5c4 <s_vDS18B20_WriteByte>
- s_vDS18B20_WriteByte( DS18B20_CMD_RSCRATCHPAD );
- 7ca: 8e eb ldi r24, 0xBE ; 190
- 7cc: fb de rcall .-522 ; 0x5c4 <s_vDS18B20_WriteByte>
- u8TempLo = s_u8DS18B20_ReadByte();
- 7ce: 1d df rcall .-454 ; 0x60a <s_u8DS18B20_ReadByte>
- 7d0: c8 2f mov r28, r24
- u8TempHi = s_u8DS18B20_ReadByte();
- 7d2: 1b df rcall .-458 ; 0x60a <s_u8DS18B20_ReadByte>
- f32Temperature = ((u8TempHi << 8) + u8TempLo) * 0.0625;
- s_vSetValue( (uint8_t) f32Temperature, SYM_DEG_CELCIUS );
- 7d4: 68 2f mov r22, r24
- 7d6: 70 e0 ldi r23, 0x00 ; 0
- 7d8: 76 2f mov r23, r22
- 7da: 66 27 eor r22, r22
- 7dc: 6c 0f add r22, r28
- 7de: 71 1d adc r23, r1
- 7e0: 07 2e mov r0, r23
- 7e2: 00 0c add r0, r0
- 7e4: 88 0b sbc r24, r24
- 7e6: 99 0b sbc r25, r25
- 7e8: 4f d0 rcall .+158 ; 0x888 <__floatsisf>
- 7ea: 20 e0 ldi r18, 0x00 ; 0
- 7ec: 30 e0 ldi r19, 0x00 ; 0
- 7ee: 40 e8 ldi r20, 0x80 ; 128
- 7f0: 5d e3 ldi r21, 0x3D ; 61
- 7f2: ae d0 rcall .+348 ; 0x950 <__mulsf3>
- 7f4: 1b d0 rcall .+54 ; 0x82c <__fixunssfsi>
- 7f6: 86 2f mov r24, r22
- 7f8: 6e e0 ldi r22, 0x0E ; 14
- 7fa: 50 dc rcall .-1888 ; 0x9c <s_vSetValue>
- if ( g_u8Mode == MODE_MEASURE )
- 7fc: 80 91 25 01 lds r24, 0x0125 ; 0x800125 <g_u8Mode>
- 800: 81 11 cpse r24, r1
- 802: d0 cf rjmp .-96 ; 0x7a4 <main+0x178>
- 804: cf e7 ldi r28, 0x7F ; 127
- 806: 24 e8 ldi r18, 0x84 ; 132
- 808: 3e e1 ldi r19, 0x1E ; 30
- 80a: c1 50 subi r28, 0x01 ; 1
- 80c: 20 40 sbci r18, 0x00 ; 0
- 80e: 30 40 sbci r19, 0x00 ; 0
- 810: e1 f7 brne .-8 ; 0x80a <main+0x1de>
- 812: 00 c0 rjmp .+0 ; 0x814 <main+0x1e8>
- 814: 00 00 nop
- 816: c6 cf rjmp .-116 ; 0x7a4 <main+0x178>
- {
- _delay_ms(500);
- }
- break;
- case MODE_ANIMATION_1:
- s_vShowAnim(g_u8Mode);
- 818: 81 e0 ldi r24, 0x01 ; 1
- 81a: c5 dc rcall .-1654 ; 0x1a6 <s_vShowAnim>
- g_u8Mode = MODE_MEASURE;
- 81c: 10 92 25 01 sts 0x0125, r1 ; 0x800125 <g_u8Mode>
- break;
- 820: c1 cf rjmp .-126 ; 0x7a4 <main+0x178>
- case MODE_ANIMATION_2:
- s_vShowAnim(g_u8Mode);
- 822: 82 e0 ldi r24, 0x02 ; 2
- 824: c0 dc rcall .-1664 ; 0x1a6 <s_vShowAnim>
- g_u8Mode = MODE_MEASURE;
- 826: 10 92 25 01 sts 0x0125, r1 ; 0x800125 <g_u8Mode>
- break;
- 82a: bc cf rjmp .-136 ; 0x7a4 <main+0x178>
-
- 0000082c <__fixunssfsi>:
- 82c: 70 d0 rcall .+224 ; 0x90e <__fp_splitA>
- 82e: 88 f0 brcs .+34 ; 0x852 <__fixunssfsi+0x26>
- 830: 9f 57 subi r25, 0x7F ; 127
- 832: 90 f0 brcs .+36 ; 0x858 <__fixunssfsi+0x2c>
- 834: b9 2f mov r27, r25
- 836: 99 27 eor r25, r25
- 838: b7 51 subi r27, 0x17 ; 23
- 83a: a0 f0 brcs .+40 ; 0x864 <__fixunssfsi+0x38>
- 83c: d1 f0 breq .+52 ; 0x872 <__fixunssfsi+0x46>
- 83e: 66 0f add r22, r22
- 840: 77 1f adc r23, r23
- 842: 88 1f adc r24, r24
- 844: 99 1f adc r25, r25
- 846: 1a f0 brmi .+6 ; 0x84e <__fixunssfsi+0x22>
- 848: ba 95 dec r27
- 84a: c9 f7 brne .-14 ; 0x83e <__fixunssfsi+0x12>
- 84c: 12 c0 rjmp .+36 ; 0x872 <__fixunssfsi+0x46>
- 84e: b1 30 cpi r27, 0x01 ; 1
- 850: 81 f0 breq .+32 ; 0x872 <__fixunssfsi+0x46>
- 852: 77 d0 rcall .+238 ; 0x942 <__fp_zero>
- 854: b1 e0 ldi r27, 0x01 ; 1
- 856: 08 95 ret
- 858: 74 c0 rjmp .+232 ; 0x942 <__fp_zero>
- 85a: 67 2f mov r22, r23
- 85c: 78 2f mov r23, r24
- 85e: 88 27 eor r24, r24
- 860: b8 5f subi r27, 0xF8 ; 248
- 862: 39 f0 breq .+14 ; 0x872 <__fixunssfsi+0x46>
- 864: b9 3f cpi r27, 0xF9 ; 249
- 866: cc f3 brlt .-14 ; 0x85a <__fixunssfsi+0x2e>
- 868: 86 95 lsr r24
- 86a: 77 95 ror r23
- 86c: 67 95 ror r22
- 86e: b3 95 inc r27
- 870: d9 f7 brne .-10 ; 0x868 <__fixunssfsi+0x3c>
- 872: 3e f4 brtc .+14 ; 0x882 <__fixunssfsi+0x56>
- 874: 90 95 com r25
- 876: 80 95 com r24
- 878: 70 95 com r23
- 87a: 61 95 neg r22
- 87c: 7f 4f sbci r23, 0xFF ; 255
- 87e: 8f 4f sbci r24, 0xFF ; 255
- 880: 9f 4f sbci r25, 0xFF ; 255
- 882: 08 95 ret
-
- 00000884 <__floatunsisf>:
- 884: e8 94 clt
- 886: 09 c0 rjmp .+18 ; 0x89a <__floatsisf+0x12>
-
- 00000888 <__floatsisf>:
- 888: 97 fb bst r25, 7
- 88a: 3e f4 brtc .+14 ; 0x89a <__floatsisf+0x12>
- 88c: 90 95 com r25
- 88e: 80 95 com r24
- 890: 70 95 com r23
- 892: 61 95 neg r22
- 894: 7f 4f sbci r23, 0xFF ; 255
- 896: 8f 4f sbci r24, 0xFF ; 255
- 898: 9f 4f sbci r25, 0xFF ; 255
- 89a: 99 23 and r25, r25
- 89c: a9 f0 breq .+42 ; 0x8c8 <__floatsisf+0x40>
- 89e: f9 2f mov r31, r25
- 8a0: 96 e9 ldi r25, 0x96 ; 150
- 8a2: bb 27 eor r27, r27
- 8a4: 93 95 inc r25
- 8a6: f6 95 lsr r31
- 8a8: 87 95 ror r24
- 8aa: 77 95 ror r23
- 8ac: 67 95 ror r22
- 8ae: b7 95 ror r27
- 8b0: f1 11 cpse r31, r1
- 8b2: f8 cf rjmp .-16 ; 0x8a4 <__floatsisf+0x1c>
- 8b4: fa f4 brpl .+62 ; 0x8f4 <__floatsisf+0x6c>
- 8b6: bb 0f add r27, r27
- 8b8: 11 f4 brne .+4 ; 0x8be <__floatsisf+0x36>
- 8ba: 60 ff sbrs r22, 0
- 8bc: 1b c0 rjmp .+54 ; 0x8f4 <__floatsisf+0x6c>
- 8be: 6f 5f subi r22, 0xFF ; 255
- 8c0: 7f 4f sbci r23, 0xFF ; 255
- 8c2: 8f 4f sbci r24, 0xFF ; 255
- 8c4: 9f 4f sbci r25, 0xFF ; 255
- 8c6: 16 c0 rjmp .+44 ; 0x8f4 <__floatsisf+0x6c>
- 8c8: 88 23 and r24, r24
- 8ca: 11 f0 breq .+4 ; 0x8d0 <__floatsisf+0x48>
- 8cc: 96 e9 ldi r25, 0x96 ; 150
- 8ce: 11 c0 rjmp .+34 ; 0x8f2 <__floatsisf+0x6a>
- 8d0: 77 23 and r23, r23
- 8d2: 21 f0 breq .+8 ; 0x8dc <__floatsisf+0x54>
- 8d4: 9e e8 ldi r25, 0x8E ; 142
- 8d6: 87 2f mov r24, r23
- 8d8: 76 2f mov r23, r22
- 8da: 05 c0 rjmp .+10 ; 0x8e6 <__floatsisf+0x5e>
- 8dc: 66 23 and r22, r22
- 8de: 71 f0 breq .+28 ; 0x8fc <__floatsisf+0x74>
- 8e0: 96 e8 ldi r25, 0x86 ; 134
- 8e2: 86 2f mov r24, r22
- 8e4: 70 e0 ldi r23, 0x00 ; 0
- 8e6: 60 e0 ldi r22, 0x00 ; 0
- 8e8: 2a f0 brmi .+10 ; 0x8f4 <__floatsisf+0x6c>
- 8ea: 9a 95 dec r25
- 8ec: 66 0f add r22, r22
- 8ee: 77 1f adc r23, r23
- 8f0: 88 1f adc r24, r24
- 8f2: da f7 brpl .-10 ; 0x8ea <__floatsisf+0x62>
- 8f4: 88 0f add r24, r24
- 8f6: 96 95 lsr r25
- 8f8: 87 95 ror r24
- 8fa: 97 f9 bld r25, 7
- 8fc: 08 95 ret
-
- 000008fe <__fp_split3>:
- 8fe: 57 fd sbrc r21, 7
- 900: 90 58 subi r25, 0x80 ; 128
- 902: 44 0f add r20, r20
- 904: 55 1f adc r21, r21
- 906: 59 f0 breq .+22 ; 0x91e <__fp_splitA+0x10>
- 908: 5f 3f cpi r21, 0xFF ; 255
- 90a: 71 f0 breq .+28 ; 0x928 <__fp_splitA+0x1a>
- 90c: 47 95 ror r20
-
- 0000090e <__fp_splitA>:
- 90e: 88 0f add r24, r24
- 910: 97 fb bst r25, 7
- 912: 99 1f adc r25, r25
- 914: 61 f0 breq .+24 ; 0x92e <__fp_splitA+0x20>
- 916: 9f 3f cpi r25, 0xFF ; 255
- 918: 79 f0 breq .+30 ; 0x938 <__fp_splitA+0x2a>
- 91a: 87 95 ror r24
- 91c: 08 95 ret
- 91e: 12 16 cp r1, r18
- 920: 13 06 cpc r1, r19
- 922: 14 06 cpc r1, r20
- 924: 55 1f adc r21, r21
- 926: f2 cf rjmp .-28 ; 0x90c <__fp_split3+0xe>
- 928: 46 95 lsr r20
- 92a: f1 df rcall .-30 ; 0x90e <__fp_splitA>
- 92c: 08 c0 rjmp .+16 ; 0x93e <__fp_splitA+0x30>
- 92e: 16 16 cp r1, r22
- 930: 17 06 cpc r1, r23
- 932: 18 06 cpc r1, r24
- 934: 99 1f adc r25, r25
- 936: f1 cf rjmp .-30 ; 0x91a <__fp_splitA+0xc>
- 938: 86 95 lsr r24
- 93a: 71 05 cpc r23, r1
- 93c: 61 05 cpc r22, r1
- 93e: 08 94 sec
- 940: 08 95 ret
-
- 00000942 <__fp_zero>:
- 942: e8 94 clt
-
- 00000944 <__fp_szero>:
- 944: bb 27 eor r27, r27
- 946: 66 27 eor r22, r22
- 948: 77 27 eor r23, r23
- 94a: cb 01 movw r24, r22
- 94c: 97 f9 bld r25, 7
- 94e: 08 95 ret
-
- 00000950 <__mulsf3>:
- 950: 0b d0 rcall .+22 ; 0x968 <__mulsf3x>
- 952: 78 c0 rjmp .+240 ; 0xa44 <__fp_round>
- 954: 69 d0 rcall .+210 ; 0xa28 <__fp_pscA>
- 956: 28 f0 brcs .+10 ; 0x962 <__mulsf3+0x12>
- 958: 6e d0 rcall .+220 ; 0xa36 <__fp_pscB>
- 95a: 18 f0 brcs .+6 ; 0x962 <__mulsf3+0x12>
- 95c: 95 23 and r25, r21
- 95e: 09 f0 breq .+2 ; 0x962 <__mulsf3+0x12>
- 960: 5a c0 rjmp .+180 ; 0xa16 <__fp_inf>
- 962: 5f c0 rjmp .+190 ; 0xa22 <__fp_nan>
- 964: 11 24 eor r1, r1
- 966: ee cf rjmp .-36 ; 0x944 <__fp_szero>
-
- 00000968 <__mulsf3x>:
- 968: ca df rcall .-108 ; 0x8fe <__fp_split3>
- 96a: a0 f3 brcs .-24 ; 0x954 <__mulsf3+0x4>
-
- 0000096c <__mulsf3_pse>:
- 96c: 95 9f mul r25, r21
- 96e: d1 f3 breq .-12 ; 0x964 <__mulsf3+0x14>
- 970: 95 0f add r25, r21
- 972: 50 e0 ldi r21, 0x00 ; 0
- 974: 55 1f adc r21, r21
- 976: 62 9f mul r22, r18
- 978: f0 01 movw r30, r0
- 97a: 72 9f mul r23, r18
- 97c: bb 27 eor r27, r27
- 97e: f0 0d add r31, r0
- 980: b1 1d adc r27, r1
- 982: 63 9f mul r22, r19
- 984: aa 27 eor r26, r26
- 986: f0 0d add r31, r0
- 988: b1 1d adc r27, r1
- 98a: aa 1f adc r26, r26
- 98c: 64 9f mul r22, r20
- 98e: 66 27 eor r22, r22
- 990: b0 0d add r27, r0
- 992: a1 1d adc r26, r1
- 994: 66 1f adc r22, r22
- 996: 82 9f mul r24, r18
- 998: 22 27 eor r18, r18
- 99a: b0 0d add r27, r0
- 99c: a1 1d adc r26, r1
- 99e: 62 1f adc r22, r18
- 9a0: 73 9f mul r23, r19
- 9a2: b0 0d add r27, r0
- 9a4: a1 1d adc r26, r1
- 9a6: 62 1f adc r22, r18
- 9a8: 83 9f mul r24, r19
- 9aa: a0 0d add r26, r0
- 9ac: 61 1d adc r22, r1
- 9ae: 22 1f adc r18, r18
- 9b0: 74 9f mul r23, r20
- 9b2: 33 27 eor r19, r19
- 9b4: a0 0d add r26, r0
- 9b6: 61 1d adc r22, r1
- 9b8: 23 1f adc r18, r19
- 9ba: 84 9f mul r24, r20
- 9bc: 60 0d add r22, r0
- 9be: 21 1d adc r18, r1
- 9c0: 82 2f mov r24, r18
- 9c2: 76 2f mov r23, r22
- 9c4: 6a 2f mov r22, r26
- 9c6: 11 24 eor r1, r1
- 9c8: 9f 57 subi r25, 0x7F ; 127
- 9ca: 50 40 sbci r21, 0x00 ; 0
- 9cc: 8a f0 brmi .+34 ; 0x9f0 <__mulsf3_pse+0x84>
- 9ce: e1 f0 breq .+56 ; 0xa08 <__mulsf3_pse+0x9c>
- 9d0: 88 23 and r24, r24
- 9d2: 4a f0 brmi .+18 ; 0x9e6 <__mulsf3_pse+0x7a>
- 9d4: ee 0f add r30, r30
- 9d6: ff 1f adc r31, r31
- 9d8: bb 1f adc r27, r27
- 9da: 66 1f adc r22, r22
- 9dc: 77 1f adc r23, r23
- 9de: 88 1f adc r24, r24
- 9e0: 91 50 subi r25, 0x01 ; 1
- 9e2: 50 40 sbci r21, 0x00 ; 0
- 9e4: a9 f7 brne .-22 ; 0x9d0 <__mulsf3_pse+0x64>
- 9e6: 9e 3f cpi r25, 0xFE ; 254
- 9e8: 51 05 cpc r21, r1
- 9ea: 70 f0 brcs .+28 ; 0xa08 <__mulsf3_pse+0x9c>
- 9ec: 14 c0 rjmp .+40 ; 0xa16 <__fp_inf>
- 9ee: aa cf rjmp .-172 ; 0x944 <__fp_szero>
- 9f0: 5f 3f cpi r21, 0xFF ; 255
- 9f2: ec f3 brlt .-6 ; 0x9ee <__mulsf3_pse+0x82>
- 9f4: 98 3e cpi r25, 0xE8 ; 232
- 9f6: dc f3 brlt .-10 ; 0x9ee <__mulsf3_pse+0x82>
- 9f8: 86 95 lsr r24
- 9fa: 77 95 ror r23
- 9fc: 67 95 ror r22
- 9fe: b7 95 ror r27
- a00: f7 95 ror r31
- a02: e7 95 ror r30
- a04: 9f 5f subi r25, 0xFF ; 255
- a06: c1 f7 brne .-16 ; 0x9f8 <__mulsf3_pse+0x8c>
- a08: fe 2b or r31, r30
- a0a: 88 0f add r24, r24
- a0c: 91 1d adc r25, r1
- a0e: 96 95 lsr r25
- a10: 87 95 ror r24
- a12: 97 f9 bld r25, 7
- a14: 08 95 ret
-
- 00000a16 <__fp_inf>:
- a16: 97 f9 bld r25, 7
- a18: 9f 67 ori r25, 0x7F ; 127
- a1a: 80 e8 ldi r24, 0x80 ; 128
- a1c: 70 e0 ldi r23, 0x00 ; 0
- a1e: 60 e0 ldi r22, 0x00 ; 0
- a20: 08 95 ret
-
- 00000a22 <__fp_nan>:
- a22: 9f ef ldi r25, 0xFF ; 255
- a24: 80 ec ldi r24, 0xC0 ; 192
- a26: 08 95 ret
-
- 00000a28 <__fp_pscA>:
- a28: 00 24 eor r0, r0
- a2a: 0a 94 dec r0
- a2c: 16 16 cp r1, r22
- a2e: 17 06 cpc r1, r23
- a30: 18 06 cpc r1, r24
- a32: 09 06 cpc r0, r25
- a34: 08 95 ret
-
- 00000a36 <__fp_pscB>:
- a36: 00 24 eor r0, r0
- a38: 0a 94 dec r0
- a3a: 12 16 cp r1, r18
- a3c: 13 06 cpc r1, r19
- a3e: 14 06 cpc r1, r20
- a40: 05 06 cpc r0, r21
- a42: 08 95 ret
-
- 00000a44 <__fp_round>:
- a44: 09 2e mov r0, r25
- a46: 03 94 inc r0
- a48: 00 0c add r0, r0
- a4a: 11 f4 brne .+4 ; 0xa50 <__fp_round+0xc>
- a4c: 88 23 and r24, r24
- a4e: 52 f0 brmi .+20 ; 0xa64 <__fp_round+0x20>
- a50: bb 0f add r27, r27
- a52: 40 f4 brcc .+16 ; 0xa64 <__fp_round+0x20>
- a54: bf 2b or r27, r31
- a56: 11 f4 brne .+4 ; 0xa5c <__fp_round+0x18>
- a58: 60 ff sbrs r22, 0
- a5a: 04 c0 rjmp .+8 ; 0xa64 <__fp_round+0x20>
- a5c: 6f 5f subi r22, 0xFF ; 255
- a5e: 7f 4f sbci r23, 0xFF ; 255
- a60: 8f 4f sbci r24, 0xFF ; 255
- a62: 9f 4f sbci r25, 0xFF ; 255
- a64: 08 95 ret
-
- 00000a66 <_exit>:
- a66: f8 94 cli
-
- 00000a68 <__stop_program>:
- a68: ff cf rjmp .-2 ; 0xa68 <__stop_program>
|