1 .file "rtc8583.c" 2 .arch atmega8535 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 17 .Ltext0: 19 rtc_setReadAddr: 20 .LFB2: 21 .LM1: 22 /* prologue: frame size=0 */ 23 /* prologue end (size=0) */ 24 0000 282F mov r18,r24 25 .LM2: 26 0002 80EA ldi r24,lo8(-96) 27 0004 8093 0000 sts i2cControl,r24 28 .LM3: 29 0008 80E0 ldi r24,lo8(rtcBuff) 30 000a 90E0 ldi r25,hi8(rtcBuff) 31 000c 9093 0000 sts (i2cControl+2)+1,r25 32 0010 8093 0000 sts i2cControl+2,r24 33 .LM4: 34 0014 2093 0000 sts rtcBuff,r18 35 .LM5: 36 0018 81E0 ldi r24,lo8(1) 37 001a 8093 0000 sts i2cControl+1,r24 38 .LM6: 39 001e 8093 0000 sts i2cControl+4,r24 40 .LM7: 41 0022 00D0 rcall i2cStart 42 /* epilogue: frame size=0 */ 43 0024 0895 ret 44 /* epilogue end (size=1) */ 45 /* function rtc_setReadAddr size 19 (18) */ 46 .LFE2: 48 .global rtc_RW 50 rtc_RW: 51 .LFB3: 52 .LM8: 53 /* prologue: frame size=0 */ 54 /* prologue end (size=0) */ 55 .LM9: 56 0026 8093 0000 sts i2cControl,r24 57 .LM10: 58 002a 20E0 ldi r18,lo8(rtcBuff) 59 002c 30E0 ldi r19,hi8(rtcBuff) 60 002e 3093 0000 sts (i2cControl+2)+1,r19 61 0032 2093 0000 sts i2cControl+2,r18 62 .LM11: 63 0036 6093 0000 sts i2cControl+1,r22 64 .LM12: 65 003a 81E0 ldi r24,lo8(1) 66 003c 8093 0000 sts i2cControl+4,r24 67 .LM13: 68 0040 00D0 rcall i2cStart 69 /* epilogue: frame size=0 */ 70 0042 0895 ret 71 /* epilogue end (size=1) */ 72 /* function rtc_RW size 15 (14) */ 73 .LFE3: 75 .global rtc_setDate 77 rtc_setDate: 78 .LFB4: 79 .LM14: 80 /* prologue: frame size=0 */ 81 /* prologue end (size=0) */ 82 0044 242F mov r18,r20 83 .LM15: 84 0046 35E0 ldi r19,lo8(5) 85 0048 3093 0000 sts rtcBuff,r19 86 .LM16: 87 004c 2295 swap r18 88 004e 220F lsl r18 89 0050 220F lsl r18 90 0052 207C andi r18,0xc0 91 0054 280F add r18,r24 92 0056 2093 0000 sts rtcBuff+1,r18 93 .LM17: 94 005a 6093 0000 sts rtcBuff+2,r22 95 .LM18: 96 005e 63E0 ldi r22,lo8(3) 97 0060 80EA ldi r24,lo8(-96) 98 0062 E1DF rcall rtc_RW 99 /* epilogue: frame size=0 */ 100 0064 0895 ret 101 /* epilogue end (size=1) */ 102 /* function rtc_setDate size 17 (16) */ 103 .LFE4: 105 .global rtc_setTime 107 rtc_setTime: 108 .LFB5: 109 .LM19: 110 /* prologue: frame size=0 */ 111 /* prologue end (size=0) */ 112 0066 982F mov r25,r24 113 .LM20: 114 0068 82E0 ldi r24,lo8(2) 115 006a 8093 0000 sts rtcBuff,r24 116 .LM21: 117 006e 9093 0000 sts rtcBuff+1,r25 118 .LM22: 119 0072 6093 0000 sts rtcBuff+2,r22 120 .LM23: 121 0076 4093 0000 sts rtcBuff+3,r20 122 .LM24: 123 007a 64E0 ldi r22,lo8(4) 124 007c 80EA ldi r24,lo8(-96) 125 007e D3DF rcall rtc_RW 126 /* epilogue: frame size=0 */ 127 0080 0895 ret 128 /* epilogue end (size=1) */ 129 /* function rtc_setTime size 14 (13) */ 130 .LFE5: 132 .global rtc_getTime 134 rtc_getTime: 135 .LFB6: 136 .LM25: 137 /* prologue: frame size=0 */ 138 /* prologue end (size=0) */ 139 .LM26: 140 0082 82E0 ldi r24,lo8(2) 141 0084 BDDF rcall rtc_setReadAddr 142 .L6: 143 .LM27: 144 0086 8091 0000 lds r24,i2cControl+4 145 008a 8823 tst r24 146 008c E1F7 brne .L6 147 .LM28: 148 008e 63E0 ldi r22,lo8(3) 149 0090 81EA ldi r24,lo8(-95) 150 0092 C9DF rcall rtc_RW 151 .L9: 152 .LM29: 153 0094 8091 0000 lds r24,i2cControl+4 154 0098 8823 tst r24 155 009a E1F7 brne .L9 156 .LM30: 157 009c 8091 0000 lds r24,rtcBuff 158 00a0 8F77 andi r24,lo8(127) 159 00a2 8093 0000 sts second,r24 160 .LM31: 161 00a6 8091 0000 lds r24,rtcBuff+1 162 00aa 8F77 andi r24,lo8(127) 163 00ac 8093 0000 sts minute,r24 164 .LM32: 165 00b0 8091 0000 lds r24,rtcBuff+2 166 00b4 8F73 andi r24,lo8(63) 167 00b6 8093 0000 sts hour,r24 168 /* epilogue: frame size=0 */ 169 00ba 0895 ret 170 /* epilogue end (size=1) */ 171 /* function rtc_getTime size 29 (28) */ 172 .LFE6: 174 .global rtc_getDate 176 rtc_getDate: 177 .LFB7: 178 .LM33: 179 /* prologue: frame size=0 */ 180 /* prologue end (size=0) */ 181 .LM34: 182 00bc 85E0 ldi r24,lo8(5) 183 00be A0DF rcall rtc_setReadAddr 184 .L13: 185 .LM35: 186 00c0 8091 0000 lds r24,i2cControl+4 187 00c4 8823 tst r24 188 00c6 E1F7 brne .L13 189 .LM36: 190 00c8 62E0 ldi r22,lo8(2) 191 00ca 81EA ldi r24,lo8(-95) 192 00cc ACDF rcall rtc_RW 193 .L16: 194 .LM37: 195 00ce 8091 0000 lds r24,i2cControl+4 196 00d2 8823 tst r24 197 00d4 E1F7 brne .L16 198 .LM38: 199 00d6 8091 0000 lds r24,rtcBuff 200 00da 8295 swap r24 201 00dc 8695 lsr r24 202 00de 8695 lsr r24 203 00e0 8370 andi r24,0x3 204 00e2 8093 0000 sts year,r24 205 .LM39: 206 00e6 8091 0000 lds r24,rtcBuff 207 00ea 8F73 andi r24,lo8(63) 208 00ec 8093 0000 sts day,r24 209 .LM40: 210 00f0 8091 0000 lds r24,rtcBuff+1 211 00f4 8F71 andi r24,lo8(31) 212 00f6 8093 0000 sts month,r24 213 /* epilogue: frame size=0 */ 214 00fa 0895 ret 215 /* epilogue end (size=1) */ 216 /* function rtc_getDate size 32 (31) */ 217 .LFE7: 219 .global rtc_getCSR 221 rtc_getCSR: 222 .LFB8: 223 .LM41: 224 /* prologue: frame size=0 */ 225 /* prologue end (size=0) */ 226 .LM42: 227 00fc 80E0 ldi r24,lo8(0) 228 00fe 80DF rcall rtc_setReadAddr 229 .L20: 230 .LM43: 231 0100 8091 0000 lds r24,i2cControl+4 232 0104 8823 tst r24 233 0106 E1F7 brne .L20 234 .LM44: 235 0108 61E0 ldi r22,lo8(1) 236 010a 81EA ldi r24,lo8(-95) 237 010c 8CDF rcall rtc_RW 238 .L23: 239 .LM45: 240 010e 8091 0000 lds r24,i2cControl+4 241 0112 8823 tst r24 242 0114 E1F7 brne .L23 243 .LM46: 244 0116 8091 0000 lds r24,rtcBuff 245 .LM47: 246 011a 9927 clr r25 247 /* epilogue: frame size=0 */ 248 011c 0895 ret 249 /* epilogue end (size=1) */ 250 /* function rtc_getCSR size 17 (16) */ 251 .LFE8: 253 .global rtc_setCSR 255 rtc_setCSR: 256 .LFB9: 257 .LM48: 258 /* prologue: frame size=0 */ 259 /* prologue end (size=0) */ 260 .LM49: 261 011e 1092 0000 sts rtcBuff,__zero_reg__ 262 .LM50: 263 0122 8093 0000 sts rtcBuff+1,r24 264 .LM51: 265 0126 62E0 ldi r22,lo8(2) 266 0128 80EA ldi r24,lo8(-96) 267 012a 7DDF rcall rtc_RW 268 /* epilogue: frame size=0 */ 269 012c 0895 ret 270 /* epilogue end (size=1) */ 271 /* function rtc_setCSR size 8 (7) */ 272 .LFE9: 274 .comm rtcBuff,5,1 275 .Letext0: DEFINED SYMBOLS *ABS*:00000000 rtc8583.c *ABS*:0000003f __SREG__ *ABS*:0000003e __SP_H__ *ABS*:0000003d __SP_L__ *ABS*:00000000 __tmp_reg__ *ABS*:00000001 __zero_reg__ c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:19 .text:00000000 rtc_setReadAddr *COM*:00000005 rtcBuff c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:50 .text:00000026 rtc_RW c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:77 .text:00000044 rtc_setDate c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:107 .text:00000066 rtc_setTime c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:134 .text:00000082 rtc_getTime c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:176 .text:000000bc rtc_getDate c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:221 .text:000000fc rtc_getCSR c:\DOKUME~1\HANS-J~1\LOKALE~1\Temp/ccgTaaaa.s:255 .text:0000011e rtc_setCSR UNDEFINED SYMBOLS __do_copy_data __do_clear_bss i2cControl i2cStart second minute hour year day month