| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- 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
|