GAS LISTING /tmp/ccbE7do1.s page 1 1 .file "wdt_avr.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text.AvrWatchDogStart,"ax",@progbits 9 .global AvrWatchDogStart 10 .type AvrWatchDogStart, @function 11 AvrWatchDogStart: 12 0000 0F93 push r16 13 0002 1F93 push r17 14 /* prologue: function */ 15 /* frame size = 0 */ 16 /* stack size = 2 */ 17 .L__stack_usage = 2 18 0004 9B01 movw r18,r22 19 0006 AC01 movw r20,r24 20 /* #APP */ 21 ; 79 "../../nut/arch/avr/dev/wdt_avr.c" 1 22 0008 A895 wdr 23 ; 0 "" 2 24 /* #NOAPP */ 25 000a ADE8 ldi r26,lo8(-115) 26 000c B4E0 ldi r27,lo8(4) 27 000e 0E94 0000 call __muluhisi3 28 0012 AB01 movw r20,r22 29 0014 BC01 movw r22,r24 30 0016 9EE0 ldi r25,14 31 1: 32 0018 7695 lsr r23 33 001a 6795 ror r22 34 001c 5795 ror r21 35 001e 4795 ror r20 36 0020 9A95 dec r25 37 0022 01F4 brne 1b 38 0024 1092 0000 sts wdt_div,__zero_reg__ 39 0028 80E0 ldi r24,0 40 002a 90E0 ldi r25,0 41 .L2: 42 002c 8730 cpi r24,lo8(7) 43 002e 01F0 breq .L15 44 0030 21E0 ldi r18,lo8(1) 45 0032 280F add r18,r24 46 0034 4115 cp r20,__zero_reg__ 47 0036 5105 cpc r21,__zero_reg__ 48 0038 6105 cpc r22,__zero_reg__ 49 003a 7105 cpc r23,__zero_reg__ 50 003c 01F0 breq .L15 51 003e 7695 lsr r23 52 0040 6795 ror r22 53 0042 5795 ror r21 54 0044 4795 ror r20 55 0046 91E0 ldi r25,lo8(1) 56 0048 822F mov r24,r18 57 004a 00C0 rjmp .L2 GAS LISTING /tmp/ccbE7do1.s page 2 58 .L15: 59 004c 9111 cpse r25,__zero_reg__ 60 004e 8093 0000 sts wdt_div,r24 61 .L7: 62 0052 282F mov r18,r24 63 0054 2860 ori r18,lo8(8) 64 0056 98E1 ldi r25,lo8(24) 65 /* #APP */ 66 ; 425 "/usr/avr/include/avr/wdt.h" 1 67 0058 0FB6 in __tmp_reg__,__SREG__ 68 005a F894 cli 69 005c A895 wdr 70 005e 9093 6000 sts 96, r25 71 0062 0FBE out __SREG__,__tmp_reg__ 72 0064 2093 6000 sts 96, r18 73 74 ; 0 "" 2 75 /* #NOAPP */ 76 0068 91E0 ldi r25,lo8(1) 77 006a 9093 0000 sts nested,r25 78 006e 40E0 ldi r20,0 79 0070 50E4 ldi r21,lo8(64) 80 0072 60E0 ldi r22,0 81 0074 70E0 ldi r23,0 82 0076 8A01 movw r16,r20 83 0078 9B01 movw r18,r22 84 007a 00C0 rjmp 2f 85 1: 86 007c 000F lsl r16 87 007e 111F rol r17 88 0080 221F rol r18 89 0082 331F rol r19 90 2: 91 0084 8A95 dec r24 92 0086 02F4 brpl 1b 93 0088 C901 movw r24,r18 94 008a B801 movw r22,r16 95 008c 2DE8 ldi r18,lo8(-115) 96 008e 34E0 ldi r19,lo8(4) 97 0090 40E0 ldi r20,0 98 0092 50E0 ldi r21,0 99 0094 0E94 0000 call __udivmodsi4 100 0098 CA01 movw r24,r20 101 009a B901 movw r22,r18 102 /* epilogue start */ 103 009c 1F91 pop r17 104 009e 0F91 pop r16 105 00a0 0895 ret 106 .size AvrWatchDogStart, .-AvrWatchDogStart 107 .section .text.AvrWatchDogRestart,"ax",@progbits 108 .global AvrWatchDogRestart 109 .type AvrWatchDogRestart, @function 110 AvrWatchDogRestart: 111 /* prologue: function */ 112 /* frame size = 0 */ 113 /* stack size = 0 */ 114 .L__stack_usage = 0 GAS LISTING /tmp/ccbE7do1.s page 3 115 /* #APP */ 116 ; 100 "../../nut/arch/avr/dev/wdt_avr.c" 1 117 0000 A895 wdr 118 ; 0 "" 2 119 /* #NOAPP */ 120 0002 0895 ret 121 .size AvrWatchDogRestart, .-AvrWatchDogRestart 122 .section .text.AvrWatchDogDisable,"ax",@progbits 123 .global AvrWatchDogDisable 124 .type AvrWatchDogDisable, @function 125 AvrWatchDogDisable: 126 /* prologue: function */ 127 /* frame size = 0 */ 128 /* stack size = 0 */ 129 .L__stack_usage = 0 130 0000 8091 0000 lds r24,nested 131 0004 8823 tst r24 132 0006 01F0 breq .L19 133 0008 8F5F subi r24,lo8(-(1)) 134 000a 8093 0000 sts nested,r24 135 .L19: 136 /* #APP */ 137 ; 467 "/usr/avr/include/avr/wdt.h" 1 138 000e 0FB6 in __tmp_reg__,__SREG__ 139 0010 F894 cli 140 0012 A895 wdr 141 0014 8091 6000 lds r24,96 142 0018 8861 ori r24,24 143 001a 8093 6000 sts 96,r24 144 001e 1092 6000 sts 96,__zero_reg__ 145 0022 0FBE out __SREG__,__tmp_reg__ 146 147 ; 0 "" 2 148 /* #NOAPP */ 149 0024 0895 ret 150 .size AvrWatchDogDisable, .-AvrWatchDogDisable 151 .section .text.AvrWatchDogEnable,"ax",@progbits 152 .global AvrWatchDogEnable 153 .type AvrWatchDogEnable, @function 154 AvrWatchDogEnable: 155 /* prologue: function */ 156 /* frame size = 0 */ 157 /* stack size = 0 */ 158 .L__stack_usage = 0 159 0000 8091 0000 lds r24,nested 160 0004 8230 cpi r24,lo8(2) 161 0006 00F0 brlo .L23 162 0008 8150 subi r24,lo8(-(-1)) 163 000a 8093 0000 sts nested,r24 164 000e 8130 cpi r24,lo8(1) 165 0010 01F4 brne .L23 166 0012 9091 0000 lds r25,wdt_div 167 0016 93FD sbrc r25,3 168 0018 00C0 rjmp .L28 169 001a 88E0 ldi r24,lo8(8) 170 001c 00C0 rjmp .L27 171 .L28: GAS LISTING /tmp/ccbE7do1.s page 4 172 001e 88E2 ldi r24,lo8(40) 173 .L27: 174 0020 9770 andi r25,lo8(7) 175 0022 892B or r24,r25 176 0024 98E1 ldi r25,lo8(24) 177 /* #APP */ 178 ; 425 "/usr/avr/include/avr/wdt.h" 1 179 0026 0FB6 in __tmp_reg__,__SREG__ 180 0028 F894 cli 181 002a A895 wdr 182 002c 9093 6000 sts 96, r25 183 0030 0FBE out __SREG__,__tmp_reg__ 184 0032 8093 6000 sts 96, r24 185 186 ; 0 "" 2 187 /* #NOAPP */ 188 .L23: 189 0036 0895 ret 190 .size AvrWatchDogEnable, .-AvrWatchDogEnable 191 .local wdt_div 192 .comm wdt_div,1,1 193 .local nested 194 .comm nested,1,1 195 .ident "GCC: (GNU) 5.3.0" 196 .global __do_clear_bss GAS LISTING /tmp/ccbE7do1.s page 5 DEFINED SYMBOLS *ABS*:0000000000000000 wdt_avr.c /tmp/ccbE7do1.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccbE7do1.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccbE7do1.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccbE7do1.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccbE7do1.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccbE7do1.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccbE7do1.s:11 .text.AvrWatchDogStart:0000000000000000 AvrWatchDogStart .bss:0000000000000000 wdt_div /tmp/ccbE7do1.s:192 .bss:0000000000000001 nested /tmp/ccbE7do1.s:110 .text.AvrWatchDogRestart:0000000000000000 AvrWatchDogRestart /tmp/ccbE7do1.s:125 .text.AvrWatchDogDisable:0000000000000000 AvrWatchDogDisable /tmp/ccbE7do1.s:154 .text.AvrWatchDogEnable:0000000000000000 AvrWatchDogEnable UNDEFINED SYMBOLS __muluhisi3 __udivmodsi4 __do_clear_bss