| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s page 1
- 1 .file "watchdog.c"
- 2 .arch atmega2561
- 3 __SREG__ = 0x3f
- 4 __SP_H__ = 0x3e
- 5 __SP_L__ = 0x3d
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .global __do_copy_data
- 9 .global __do_clear_bss
- 10 .text
- 11 .global WatchDogStart
- 12 .type WatchDogStart, @function
- 13 WatchDogStart:
- 14 /* prologue: frame size=0 */
- 15 0000 EF92 push r14
- 16 0002 FF92 push r15
- 17 0004 0F93 push r16
- 18 0006 1F93 push r17
- 19 /* prologue end (size=4) */
- 20 0008 AB01 movw r20,r22
- 21 000a BC01 movw r22,r24
- 22 /* #APP */
- 23 000c A895 wdr
- 24 /* #NOAPP */
- 25 000e 21E0 ldi r18,lo8(1)
- 26 0010 E12C mov r14,__zero_reg__
- 27 0012 E8E0 ldi r30,hi8(2048)
- 28 0014 FE2E mov r15,r30
- 29 0016 012D mov r16,__zero_reg__
- 30 0018 112D mov r17,__zero_reg__
- 31 001a 00C0 rjmp .L2
- 32 .L3:
- 33 001c 2F5F subi r18,lo8(-(1))
- 34 .L2:
- 35 001e D801 movw r26,r16
- 36 0020 C701 movw r24,r14
- 37 0022 022E mov r0,r18
- 38 0024 00C0 rjmp 2f
- 39 0026 880F 1: lsl r24
- 40 0028 991F rol r25
- 41 002a AA1F rol r26
- 42 002c BB1F rol r27
- 43 002e 0A94 2: dec r0
- 44 0030 02F4 brpl 1b
- 45 0032 37E0 ldi r19,7
- 46 0034 B695 1: lsr r27
- 47 0036 A795 ror r26
- 48 0038 9795 ror r25
- 49 003a 8795 ror r24
- 50 003c 3A95 dec r19
- 51 003e 01F4 brne 1b
- 52 0040 8417 cp r24,r20
- 53 0042 9507 cpc r25,r21
- 54 0044 A607 cpc r26,r22
- 55 0046 B707 cpc r27,r23
- 56 0048 00F0 brlo .L3
- 57 004a 2093 0000 sts g_byWdtDivider,r18
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s page 2
- 58 004e 2A30 cpi r18,lo8(10)
- 59 0050 00F0 brlo .L5
- 60 0052 2970 andi r18,lo8(9)
- 61 0054 2093 0000 sts g_byWdtDivider,r18
- 62 .L5:
- 63 0058 2091 0000 lds r18,g_byWdtDivider
- 64 005c 23FF sbrs r18,3
- 65 005e 00C0 rjmp .L7
- 66 0060 38E2 ldi r19,lo8(40)
- 67 0062 00C0 rjmp .L9
- 68 .L7:
- 69 0064 38E0 ldi r19,lo8(8)
- 70 .L9:
- 71 0066 88E1 ldi r24,lo8(24)
- 72 0068 90E0 ldi r25,hi8(24)
- 73 006a 2770 andi r18,lo8(7)
- 74 006c 322B or r19,r18
- 75 /* #APP */
- 76 006e 0FB6 in __tmp_reg__,__SREG__
- 77 0070 F894 cli
- 78 0072 A895 wdr
- 79 0074 8093 6000 sts 96,r24
- 80 0078 0FBE out __SREG__,__tmp_reg__
- 81 007a 3093 6000 sts 96,r19
- 82 /* #NOAPP */
- 83 007e 81E0 ldi r24,lo8(1)
- 84 0080 8093 0000 sts g_byNested,r24
- 85 /* epilogue: frame size=0 */
- 86 0084 1F91 pop r17
- 87 0086 0F91 pop r16
- 88 0088 FF90 pop r15
- 89 008a EF90 pop r14
- 90 008c 0895 ret
- 91 /* epilogue end (size=5) */
- 92 /* function WatchDogStart size 76 (67) */
- 93 .size WatchDogStart, .-WatchDogStart
- 94 .global WatchDogRestart
- 95 .type WatchDogRestart, @function
- 96 WatchDogRestart:
- 97 /* prologue: frame size=0 */
- 98 /* prologue end (size=0) */
- 99 /* #APP */
- 100 008e A895 wdr
- 101 /* #NOAPP */
- 102 /* epilogue: frame size=0 */
- 103 0090 0895 ret
- 104 /* epilogue end (size=1) */
- 105 /* function WatchDogRestart size 3 (2) */
- 106 .size WatchDogRestart, .-WatchDogRestart
- 107 .global WatchDogDisable
- 108 .type WatchDogDisable, @function
- 109 WatchDogDisable:
- 110 /* prologue: frame size=0 */
- 111 /* prologue end (size=0) */
- 112 0092 8091 0000 lds r24,g_byNested
- 113 0096 8823 tst r24
- 114 0098 01F0 breq .L14
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s page 3
- 115 009a 8F5F subi r24,lo8(-(1))
- 116 009c 8093 0000 sts g_byNested,r24
- 117 .L14:
- 118 00a0 88E1 ldi r24,lo8(24)
- 119 /* #APP */
- 120 00a2 0FB6 in __tmp_reg__, __SREG__
- 121 00a4 F894 cli
- 122 00a6 8093 6000 sts 96, r24
- 123 00aa 1092 6000 sts 96, __zero_reg__
- 124 00ae 0FBE out __SREG__,__tmp_reg__
- 125
- 126 /* #NOAPP */
- 127 /* epilogue: frame size=0 */
- 128 00b0 0895 ret
- 129 /* epilogue end (size=1) */
- 130 /* function WatchDogDisable size 21 (20) */
- 131 .size WatchDogDisable, .-WatchDogDisable
- 132 .global WatchDogEnable
- 133 .type WatchDogEnable, @function
- 134 WatchDogEnable:
- 135 /* prologue: frame size=0 */
- 136 /* prologue end (size=0) */
- 137 00b2 8091 0000 lds r24,g_byNested
- 138 00b6 8230 cpi r24,lo8(2)
- 139 00b8 00F0 brlo .L24
- 140 00ba 8150 subi r24,lo8(-(-1))
- 141 00bc 8093 0000 sts g_byNested,r24
- 142 00c0 8130 cpi r24,lo8(1)
- 143 00c2 01F4 brne .L24
- 144 00c4 2091 0000 lds r18,g_byWdtDivider
- 145 00c8 23FF sbrs r18,3
- 146 00ca 00C0 rjmp .L21
- 147 00cc 38E2 ldi r19,lo8(40)
- 148 00ce 00C0 rjmp .L23
- 149 .L21:
- 150 00d0 38E0 ldi r19,lo8(8)
- 151 .L23:
- 152 00d2 88E1 ldi r24,lo8(24)
- 153 00d4 90E0 ldi r25,hi8(24)
- 154 00d6 2770 andi r18,lo8(7)
- 155 00d8 322B or r19,r18
- 156 /* #APP */
- 157 00da 0FB6 in __tmp_reg__,__SREG__
- 158 00dc F894 cli
- 159 00de A895 wdr
- 160 00e0 8093 6000 sts 96,r24
- 161 00e4 0FBE out __SREG__,__tmp_reg__
- 162 00e6 3093 6000 sts 96,r19
- 163 /* #NOAPP */
- 164 .L24:
- 165 00ea 0895 ret
- 166 /* epilogue: frame size=0 */
- 167 /* epilogue: noreturn */
- 168 /* epilogue end (size=0) */
- 169 /* function WatchDogEnable size 33 (33) */
- 170 .size WatchDogEnable, .-WatchDogEnable
- 171 .lcomm g_byNested,1
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s page 4
- 172 .lcomm g_byWdtDivider,1
- 173 /* File "source/watchdog.c": code 133 = 0x0085 ( 122), prologues 4, epilogues 7 */
- GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s page 5
- DEFINED SYMBOLS
- *ABS*:00000000 watchdog.c
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:3 *ABS*:0000003f __SREG__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:4 *ABS*:0000003e __SP_H__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:5 *ABS*:0000003d __SP_L__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:6 *ABS*:00000000 __tmp_reg__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:7 *ABS*:00000001 __zero_reg__
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:13 .text:00000000 WatchDogStart
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:171 .bss:00000001 g_byWdtDivider
- .bss:00000000 g_byNested
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:96 .text:0000008e WatchDogRestart
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:109 .text:00000092 WatchDogDisable
- C:\Users\GUUSV_~1\AppData\Local\Temp/ccCOqT85.s:134 .text:000000b2 WatchDogEnable
- UNDEFINED SYMBOLS
- __do_copy_data
- __do_clear_bss
|