summaryrefslogtreecommitdiff
path: root/device/lib/stm8/time.lst
diff options
context:
space:
mode:
Diffstat (limited to 'device/lib/stm8/time.lst')
-rw-r--r--device/lib/stm8/time.lst992
1 files changed, 0 insertions, 992 deletions
diff --git a/device/lib/stm8/time.lst b/device/lib/stm8/time.lst
deleted file mode 100644
index a342816..0000000
--- a/device/lib/stm8/time.lst
+++ /dev/null
@@ -1,992 +0,0 @@
- 1 ;--------------------------------------------------------
- 2 ; File Created by SDCC : free open source ANSI-C Compiler
- 3 ; Version 3.9.3 #11345 (Linux)
- 4 ;--------------------------------------------------------
- 5 .module time
- 6 .optsdcc -mstm8
- 7
- 8 ;--------------------------------------------------------
- 9 ; Public variables in this module
- 10 ;--------------------------------------------------------
- 11 .globl ___day
- 12 .globl ___month
- 13 .globl _RtcRead
- 14 .globl _sprintf
- 15 .globl _time
- 16 .globl _asctime
- 17 .globl _ctime
- 18 .globl _localtime
- 19 .globl _gmtime
- 20 .globl _mktime
- 21 ;--------------------------------------------------------
- 22 ; ram data
- 23 ;--------------------------------------------------------
- 24 .area DATA
- 000000 25 _ascTimeBuffer:
- 000000 26 .ds 32
- 000020 27 _lastTime:
- 000020 28 .ds 12
- 29 ;--------------------------------------------------------
- 30 ; ram data
- 31 ;--------------------------------------------------------
- 32 .area INITIALIZED
- 33 ;--------------------------------------------------------
- 34 ; absolute external ram data
- 35 ;--------------------------------------------------------
- 36 .area DABS (ABS)
- 37
- 38 ; default segment ordering for linker
- 39 .area HOME
- 40 .area GSINIT
- 41 .area GSFINAL
- 42 .area CONST
- 43 .area INITIALIZER
- 44 .area CODE
- 45
- 46 ;--------------------------------------------------------
- 47 ; global & static initialisations
- 48 ;--------------------------------------------------------
- 49 .area HOME
- 50 .area GSINIT
- 51 .area GSFINAL
- 52 .area GSINIT
- 53 ;--------------------------------------------------------
- 54 ; Home
- 55 ;--------------------------------------------------------
- 56 .area HOME
- 57 .area HOME
- 58 ;--------------------------------------------------------
- 59 ; code
- 60 ;--------------------------------------------------------
- 61 .area CODE
- 62 ; ../time.c: 42: unsigned char RtcRead(struct tm *timeptr) {
- 63 ; -----------------------------------------
- 64 ; function RtcRead
- 65 ; -----------------------------------------
- 000000 66 _RtcRead:
- 67 ; ../time.c: 45: return 0;
- 000000 4F [ 1] 68 clr a
- 69 ; ../time.c: 46: }
- 000001 81 [ 4] 70 ret
- 71 ; ../time.c: 50: time_t time(time_t *timeptr) {
- 72 ; -----------------------------------------
- 73 ; function time
- 74 ; -----------------------------------------
- 000002 75 _time:
- 000002 52 10 [ 2] 76 sub sp, #16
- 77 ; ../time.c: 52: time_t t=(time_t) -1;
- 000004 AE FF FF [ 2] 78 ldw x, #0xffff
- 000007 1F 0F [ 2] 79 ldw (0x0f, sp), x
- 000009 AE FF FF [ 2] 80 ldw x, #0xffff
- 00000C 1F 0D [ 2] 81 ldw (0x0d, sp), x
- 82 ; ../time.c: 54: if (RtcRead(&now)) {
- 00000E 96 [ 1] 83 ldw x, sp
- 00000F 5C [ 1] 84 incw x
- 000010 90 93 [ 1] 85 ldw y, x
- 000012 89 [ 2] 86 pushw x
- 000013 90 89 [ 2] 87 pushw y
- 000015 CDr00r00 [ 4] 88 call _RtcRead
- 000018 5B 02 [ 2] 89 addw sp, #2
- 00001A 85 [ 2] 90 popw x
- 00001B 4D [ 1] 91 tnz a
- 00001C 27 0A [ 1] 92 jreq 00102$
- 93 ; ../time.c: 55: t=mktime(&now);
- 00001E 89 [ 2] 94 pushw x
- 00001F CDr03r04 [ 4] 95 call _mktime
- 000022 5B 02 [ 2] 96 addw sp, #2
- 000024 1F 0F [ 2] 97 ldw (0x0f, sp), x
- 000026 17 0D [ 2] 98 ldw (0x0d, sp), y
- 000028 99 00102$:
- 100 ; ../time.c: 57: if (timeptr) {
- 101 ; ../time.c: 58: *timeptr=t;
- 000028 1E 13 [ 2] 102 ldw x, (0x13, sp)
- 00002A 27 07 [ 1] 103 jreq 00104$
- 00002C 16 0F [ 2] 104 ldw y, (0x0f, sp)
- 00002E EF 02 [ 2] 105 ldw (0x2, x), y
- 000030 16 0D [ 2] 106 ldw y, (0x0d, sp)
- 000032 FF [ 2] 107 ldw (x), y
- 000033 108 00104$:
- 109 ; ../time.c: 60: return t;
- 000033 1E 0F [ 2] 110 ldw x, (0x0f, sp)
- 000035 16 0D [ 2] 111 ldw y, (0x0d, sp)
- 112 ; ../time.c: 61: }
- 000037 5B 10 [ 2] 113 addw sp, #16
- 000039 81 [ 4] 114 ret
- 115 ; ../time.c: 73: static void CheckTime(struct tm *timeptr) {
- 116 ; -----------------------------------------
- 117 ; function CheckTime
- 118 ; -----------------------------------------
- 00003A 119 _CheckTime:
- 120 ; ../time.c: 84: if (timeptr->tm_sec>59) timeptr->tm_sec=59;
- 00003A 16 03 [ 2] 121 ldw y, (0x03, sp)
- 00003C 90 F6 [ 1] 122 ld a, (y)
- 00003E A1 3B [ 1] 123 cp a, #0x3b
- 000040 23 04 [ 2] 124 jrule 00102$
- 000042 A6 3B [ 1] 125 ld a, #0x3b
- 000044 90 F7 [ 1] 126 ld (y), a
- 000046 127 00102$:
- 128 ; ../time.c: 85: if (timeptr->tm_min>59) timeptr->tm_min=59;
- 000046 93 [ 1] 129 ldw x, y
- 000047 5C [ 1] 130 incw x
- 000048 F6 [ 1] 131 ld a, (x)
- 000049 A1 3B [ 1] 132 cp a, #0x3b
- 00004B 23 03 [ 2] 133 jrule 00104$
- 00004D A6 3B [ 1] 134 ld a, #0x3b
- 00004F F7 [ 1] 135 ld (x), a
- 000050 136 00104$:
- 137 ; ../time.c: 86: if (timeptr->tm_hour>23) timeptr->tm_hour=23;
- 000050 93 [ 1] 138 ldw x, y
- 000051 5C [ 1] 139 incw x
- 000052 5C [ 1] 140 incw x
- 000053 F6 [ 1] 141 ld a, (x)
- 000054 A1 17 [ 1] 142 cp a, #0x17
- 000056 23 03 [ 2] 143 jrule 00106$
- 000058 A6 17 [ 1] 144 ld a, #0x17
- 00005A F7 [ 1] 145 ld (x), a
- 00005B 146 00106$:
- 147 ; ../time.c: 87: if (timeptr->tm_wday>6) timeptr->tm_wday=6;
- 00005B 93 [ 1] 148 ldw x, y
- 00005C 1C 00 07 [ 2] 149 addw x, #0x0007
- 00005F F6 [ 1] 150 ld a, (x)
- 000060 A1 06 [ 1] 151 cp a, #0x06
- 000062 23 03 [ 2] 152 jrule 00108$
- 000064 A6 06 [ 1] 153 ld a, #0x06
- 000066 F7 [ 1] 154 ld (x), a
- 000067 155 00108$:
- 156 ; ../time.c: 88: if (timeptr->tm_mday<1) timeptr->tm_mday=1;
- 000067 93 [ 1] 157 ldw x, y
- 000068 1C 00 03 [ 2] 158 addw x, #0x0003
- 00006B F6 [ 1] 159 ld a, (x)
- 00006C A1 01 [ 1] 160 cp a, #0x01
- 00006E 24 05 [ 1] 161 jrnc 00112$
- 000070 A6 01 [ 1] 162 ld a, #0x01
- 000072 F7 [ 1] 163 ld (x), a
- 000073 20 07 [ 2] 164 jra 00113$
- 000075 165 00112$:
- 166 ; ../time.c: 89: else if (timeptr->tm_mday>31) timeptr->tm_mday=31;
- 000075 A1 1F [ 1] 167 cp a, #0x1f
- 000077 23 03 [ 2] 168 jrule 00113$
- 000079 A6 1F [ 1] 169 ld a, #0x1f
- 00007B F7 [ 1] 170 ld (x), a
- 00007C 171 00113$:
- 172 ; ../time.c: 90: if (timeptr->tm_mon>11) timeptr->tm_mon=11;
- 00007C 93 [ 1] 173 ldw x, y
- 00007D 1C 00 04 [ 2] 174 addw x, #0x0004
- 000080 F6 [ 1] 175 ld a, (x)
- 000081 A1 0B [ 1] 176 cp a, #0x0b
- 000083 23 03 [ 2] 177 jrule 00115$
- 000085 A6 0B [ 1] 178 ld a, #0x0b
- 000087 F7 [ 1] 179 ld (x), a
- 000088 180 00115$:
- 181 ; ../time.c: 91: if (timeptr->tm_year<0) timeptr->tm_year=0;
- 000088 72 A9 00 05 [ 2] 182 addw y, #0x0005
- 00008C 93 [ 1] 183 ldw x, y
- 00008D FE [ 2] 184 ldw x, (x)
- 00008E 2B 01 [ 1] 185 jrmi 00167$
- 000090 81 [ 4] 186 ret
- 000091 187 00167$:
- 000091 93 [ 1] 188 ldw x, y
- 000092 6F 01 [ 1] 189 clr (0x1, x)
- 000094 7F [ 1] 190 clr (x)
- 191 ; ../time.c: 92: }
- 000095 81 [ 4] 192 ret
- 193 ; ../time.c: 95: char *asctime(struct tm *timeptr) {
- 194 ; -----------------------------------------
- 195 ; function asctime
- 196 ; -----------------------------------------
- 000096 197 _asctime:
- 000096 52 0C [ 2] 198 sub sp, #12
- 199 ; ../time.c: 96: CheckTime(timeptr);
- 000098 1E 0F [ 2] 200 ldw x, (0x0f, sp)
- 00009A 89 [ 2] 201 pushw x
- 00009B CDr00r3A [ 4] 202 call _CheckTime
- 00009E 5B 02 [ 2] 203 addw sp, #2
- 204 ; ../time.c: 100: timeptr->tm_year+1900);
- 0000A0 16 0F [ 2] 205 ldw y, (0x0f, sp)
- 0000A2 93 [ 1] 206 ldw x, y
- 0000A3 EE 05 [ 2] 207 ldw x, (0x5, x)
- 0000A5 1C 07 6C [ 2] 208 addw x, #0x076c
- 0000A8 1F 01 [ 2] 209 ldw (0x01, sp), x
- 210 ; ../time.c: 99: timeptr->tm_hour, timeptr->tm_min, timeptr->tm_sec,
- 0000AA 90 F6 [ 1] 211 ld a, (y)
- 0000AC 6B 04 [ 1] 212 ld (0x04, sp), a
- 0000AE 0F 03 [ 1] 213 clr (0x03, sp)
- 0000B0 93 [ 1] 214 ldw x, y
- 0000B1 E6 01 [ 1] 215 ld a, (0x1, x)
- 0000B3 6B 06 [ 1] 216 ld (0x06, sp), a
- 0000B5 0F 05 [ 1] 217 clr (0x05, sp)
- 0000B7 93 [ 1] 218 ldw x, y
- 0000B8 E6 02 [ 1] 219 ld a, (0x2, x)
- 0000BA 6B 08 [ 1] 220 ld (0x08, sp), a
- 0000BC 0F 07 [ 1] 221 clr (0x07, sp)
- 222 ; ../time.c: 98: __day[timeptr->tm_wday], __month[timeptr->tm_mon], timeptr->tm_mday,
- 0000BE 93 [ 1] 223 ldw x, y
- 0000BF E6 03 [ 1] 224 ld a, (0x3, x)
- 0000C1 6B 0A [ 1] 225 ld (0x0a, sp), a
- 0000C3 0F 09 [ 1] 226 clr (0x09, sp)
- 0000C5 93 [ 1] 227 ldw x, y
- 0000C6 E6 04 [ 1] 228 ld a, (0x4, x)
- 0000C8 5F [ 1] 229 clrw x
- 0000C9 97 [ 1] 230 ld xl, a
- 0000CA 58 [ 2] 231 sllw x
- 0000CB 1Cr00r0C [ 2] 232 addw x, #(___month + 0)
- 0000CE FE [ 2] 233 ldw x, (x)
- 0000CF 1F 0B [ 2] 234 ldw (0x0b, sp), x
- 0000D1 90 E6 07 [ 1] 235 ld a, (0x7, y)
- 0000D4 5F [ 1] 236 clrw x
- 0000D5 97 [ 1] 237 ld xl, a
- 0000D6 58 [ 2] 238 sllw x
- 0000D7 1Cr00r24 [ 2] 239 addw x, #(___day + 0)
- 0000DA FE [ 2] 240 ldw x, (x)
- 0000DB 90 93 [ 1] 241 ldw y, x
- 242 ; ../time.c: 97: sprintf (ascTimeBuffer, "%s %s %2d %02d:%02d:%02d %04d\n",
- 0000DD 1E 01 [ 2] 243 ldw x, (0x01, sp)
- 0000DF 89 [ 2] 244 pushw x
- 0000E0 1E 05 [ 2] 245 ldw x, (0x05, sp)
- 0000E2 89 [ 2] 246 pushw x
- 0000E3 1E 09 [ 2] 247 ldw x, (0x09, sp)
- 0000E5 89 [ 2] 248 pushw x
- 0000E6 1E 0D [ 2] 249 ldw x, (0x0d, sp)
- 0000E8 89 [ 2] 250 pushw x
- 0000E9 1E 11 [ 2] 251 ldw x, (0x11, sp)
- 0000EB 89 [ 2] 252 pushw x
- 0000EC 1E 15 [ 2] 253 ldw x, (0x15, sp)
- 0000EE 89 [ 2] 254 pushw x
- 0000EF 90 89 [ 2] 255 pushw y
- 0000F1 4Br32 [ 1] 256 push #<(___str_0 + 0)
- 0000F3 4Bs00 [ 1] 257 push #((___str_0 + 0) >> 8)
- 0000F5 4Br00 [ 1] 258 push #<(_ascTimeBuffer + 0)
- 0000F7 4Bs00 [ 1] 259 push #((_ascTimeBuffer + 0) >> 8)
- 0000F9 CDr00r00 [ 4] 260 call _sprintf
- 0000FC 5B 12 [ 2] 261 addw sp, #18
- 262 ; ../time.c: 101: return ascTimeBuffer;
- 0000FE AEr00r00 [ 2] 263 ldw x, #(_ascTimeBuffer + 0)
- 264 ; ../time.c: 102: }
- 000101 5B 0C [ 2] 265 addw sp, #12
- 000103 81 [ 4] 266 ret
- 267 ; ../time.c: 104: char *ctime(time_t *timep) {
- 268 ; -----------------------------------------
- 269 ; function ctime
- 270 ; -----------------------------------------
- 000104 271 _ctime:
- 272 ; ../time.c: 105: return asctime(localtime(timep));
- 000104 1E 03 [ 2] 273 ldw x, (0x03, sp)
- 000106 89 [ 2] 274 pushw x
- 000107 CDr01r13 [ 4] 275 call _localtime
- 00010A 5B 02 [ 2] 276 addw sp, #2
- 00010C 89 [ 2] 277 pushw x
- 00010D CDr00r96 [ 4] 278 call _asctime
- 000110 5B 02 [ 2] 279 addw sp, #2
- 280 ; ../time.c: 106: }
- 000112 81 [ 4] 281 ret
- 282 ; ../time.c: 121: struct tm *localtime(time_t *timep) {
- 283 ; -----------------------------------------
- 284 ; function localtime
- 285 ; -----------------------------------------
- 000113 286 _localtime:
- 287 ; ../time.c: 122: return gmtime(timep);
- 000113 1E 03 [ 2] 288 ldw x, (0x03, sp)
- 000115 89 [ 2] 289 pushw x
- 000116 CDr01r1C [ 4] 290 call _gmtime
- 000119 5B 02 [ 2] 291 addw sp, #2
- 292 ; ../time.c: 123: }
- 00011B 81 [ 4] 293 ret
- 294 ; ../time.c: 125: struct tm *gmtime(time_t *timep) {
- 295 ; -----------------------------------------
- 296 ; function gmtime
- 297 ; -----------------------------------------
- 00011C 298 _gmtime:
- 00011C 52 14 [ 2] 299 sub sp, #20
- 300 ; ../time.c: 126: unsigned long epoch=*timep;
- 00011E 1E 17 [ 2] 301 ldw x, (0x17, sp)
- 000120 90 93 [ 1] 302 ldw y, x
- 000122 90 EE 02 [ 2] 303 ldw y, (0x2, y)
- 000125 FE [ 2] 304 ldw x, (x)
- 000126 17 13 [ 2] 305 ldw (0x13, sp), y
- 000128 1F 11 [ 2] 306 ldw (0x11, sp), x
- 307 ; ../time.c: 131: lastTime.tm_sec=epoch%60;
- 00012A 4B 3C [ 1] 308 push #0x3c
- 00012C 5F [ 1] 309 clrw x
- 00012D 89 [ 2] 310 pushw x
- 00012E 4B 00 [ 1] 311 push #0x00
- 000130 1E 17 [ 2] 312 ldw x, (0x17, sp)
- 000132 89 [ 2] 313 pushw x
- 000133 1E 17 [ 2] 314 ldw x, (0x17, sp)
- 000135 89 [ 2] 315 pushw x
- 000136 CDr00r00 [ 4] 316 call __modulong
- 000139 5B 08 [ 2] 317 addw sp, #8
- 00013B 9F [ 1] 318 ld a, xl
- 00013C C7u00u20 [ 1] 319 ld _lastTime+0, a
- 320 ; ../time.c: 132: epoch/=60; // now it is minutes
- 00013F 4B 3C [ 1] 321 push #0x3c
- 000141 5F [ 1] 322 clrw x
- 000142 89 [ 2] 323 pushw x
- 000143 4B 00 [ 1] 324 push #0x00
- 000145 1E 17 [ 2] 325 ldw x, (0x17, sp)
- 000147 89 [ 2] 326 pushw x
- 000148 1E 17 [ 2] 327 ldw x, (0x17, sp)
- 00014A 89 [ 2] 328 pushw x
- 00014B CDr00r00 [ 4] 329 call __divulong
- 00014E 5B 08 [ 2] 330 addw sp, #8
- 000150 1F 11 [ 2] 331 ldw (0x11, sp), x
- 000152 17 0F [ 2] 332 ldw (0x0f, sp), y
- 333 ; ../time.c: 133: lastTime.tm_min=epoch%60;
- 000154 AEr00r21 [ 2] 334 ldw x, #(_lastTime + 0)+1
- 000157 1F 13 [ 2] 335 ldw (0x13, sp), x
- 000159 4B 3C [ 1] 336 push #0x3c
- 00015B 5F [ 1] 337 clrw x
- 00015C 89 [ 2] 338 pushw x
- 00015D 4B 00 [ 1] 339 push #0x00
- 00015F 1E 15 [ 2] 340 ldw x, (0x15, sp)
- 000161 89 [ 2] 341 pushw x
- 000162 1E 15 [ 2] 342 ldw x, (0x15, sp)
- 000164 89 [ 2] 343 pushw x
- 000165 CDr00r00 [ 4] 344 call __modulong
- 000168 5B 08 [ 2] 345 addw sp, #8
- 00016A 9F [ 1] 346 ld a, xl
- 00016B 1E 13 [ 2] 347 ldw x, (0x13, sp)
- 00016D F7 [ 1] 348 ld (x), a
- 349 ; ../time.c: 134: epoch/=60; // now it is hours
- 00016E 4B 3C [ 1] 350 push #0x3c
- 000170 5F [ 1] 351 clrw x
- 000171 89 [ 2] 352 pushw x
- 000172 4B 00 [ 1] 353 push #0x00
- 000174 1E 15 [ 2] 354 ldw x, (0x15, sp)
- 000176 89 [ 2] 355 pushw x
- 000177 1E 15 [ 2] 356 ldw x, (0x15, sp)
- 000179 89 [ 2] 357 pushw x
- 00017A CDr00r00 [ 4] 358 call __divulong
- 00017D 5B 08 [ 2] 359 addw sp, #8
- 00017F 1F 11 [ 2] 360 ldw (0x11, sp), x
- 000181 17 0F [ 2] 361 ldw (0x0f, sp), y
- 362 ; ../time.c: 135: lastTime.tm_hour=epoch%24;
- 000183 AEr00r22 [ 2] 363 ldw x, #(_lastTime + 0)+2
- 000186 1F 13 [ 2] 364 ldw (0x13, sp), x
- 000188 4B 18 [ 1] 365 push #0x18
- 00018A 5F [ 1] 366 clrw x
- 00018B 89 [ 2] 367 pushw x
- 00018C 4B 00 [ 1] 368 push #0x00
- 00018E 1E 15 [ 2] 369 ldw x, (0x15, sp)
- 000190 89 [ 2] 370 pushw x
- 000191 1E 15 [ 2] 371 ldw x, (0x15, sp)
- 000193 89 [ 2] 372 pushw x
- 000194 CDr00r00 [ 4] 373 call __modulong
- 000197 5B 08 [ 2] 374 addw sp, #8
- 000199 9F [ 1] 375 ld a, xl
- 00019A 1E 13 [ 2] 376 ldw x, (0x13, sp)
- 00019C F7 [ 1] 377 ld (x), a
- 378 ; ../time.c: 136: epoch/=24; // now it is days
- 00019D 4B 18 [ 1] 379 push #0x18
- 00019F 5F [ 1] 380 clrw x
- 0001A0 89 [ 2] 381 pushw x
- 0001A1 4B 00 [ 1] 382 push #0x00
- 0001A3 1E 15 [ 2] 383 ldw x, (0x15, sp)
- 0001A5 89 [ 2] 384 pushw x
- 0001A6 1E 15 [ 2] 385 ldw x, (0x15, sp)
- 0001A8 89 [ 2] 386 pushw x
- 0001A9 CDr00r00 [ 4] 387 call __divulong
- 0001AC 5B 08 [ 2] 388 addw sp, #8
- 0001AE 1F 07 [ 2] 389 ldw (0x07, sp), x
- 0001B0 17 05 [ 2] 390 ldw (0x05, sp), y
- 391 ; ../time.c: 137: lastTime.tm_wday=(epoch+4)%7;
- 0001B2 AEr00r27 [ 2] 392 ldw x, #(_lastTime + 0)+7
- 0001B5 1F 13 [ 2] 393 ldw (0x13, sp), x
- 0001B7 1E 07 [ 2] 394 ldw x, (0x07, sp)
- 0001B9 1C 00 04 [ 2] 395 addw x, #0x0004
- 0001BC 16 05 [ 2] 396 ldw y, (0x05, sp)
- 0001BE 24 02 [ 1] 397 jrnc 00164$
- 0001C0 90 5C [ 1] 398 incw y
- 0001C2 399 00164$:
- 0001C2 4B 07 [ 1] 400 push #0x07
- 0001C4 4B 00 [ 1] 401 push #0x00
- 0001C6 4B 00 [ 1] 402 push #0x00
- 0001C8 4B 00 [ 1] 403 push #0x00
- 0001CA 89 [ 2] 404 pushw x
- 0001CB 90 89 [ 2] 405 pushw y
- 0001CD CDr00r00 [ 4] 406 call __modulong
- 0001D0 5B 08 [ 2] 407 addw sp, #8
- 0001D2 9F [ 1] 408 ld a, xl
- 0001D3 1E 13 [ 2] 409 ldw x, (0x13, sp)
- 0001D5 F7 [ 1] 410 ld (x), a
- 411 ; ../time.c: 140: days=0;
- 0001D6 5F [ 1] 412 clrw x
- 0001D7 1F 0B [ 2] 413 ldw (0x0b, sp), x
- 0001D9 1F 09 [ 2] 414 ldw (0x09, sp), x
- 415 ; ../time.c: 141: while((days += (LEAP_YEAR(year) ? 366 : 365)) <= epoch) {
- 0001DB AE 07 B2 [ 2] 416 ldw x, #0x07b2
- 0001DE 1F 13 [ 2] 417 ldw (0x13, sp), x
- 0001E0 418 00101$:
- 0001E0 7B 14 [ 1] 419 ld a, (0x14, sp)
- 0001E2 A4 03 [ 1] 420 and a, #0x03
- 0001E4 6B 0E [ 1] 421 ld (0x0e, sp), a
- 0001E6 0F 0D [ 1] 422 clr (0x0d, sp)
- 0001E8 1E 0D [ 2] 423 ldw x, (0x0d, sp)
- 0001EA 26 07 [ 1] 424 jrne 00118$
- 0001EC AE 01 6E [ 2] 425 ldw x, #0x016e
- 0001EF 1F 11 [ 2] 426 ldw (0x11, sp), x
- 0001F1 20 05 [ 2] 427 jra 00119$
- 0001F3 428 00118$:
- 0001F3 AE 01 6D [ 2] 429 ldw x, #0x016d
- 0001F6 1F 11 [ 2] 430 ldw (0x11, sp), x
- 0001F8 431 00119$:
- 0001F8 16 11 [ 2] 432 ldw y, (0x11, sp)
- 0001FA 17 03 [ 2] 433 ldw (0x03, sp), y
- 0001FC 7B 03 [ 1] 434 ld a, (0x03, sp)
- 0001FE 49 [ 1] 435 rlc a
- 0001FF 4F [ 1] 436 clr a
- 000200 A2 00 [ 1] 437 sbc a, #0x00
- 000202 6B 02 [ 1] 438 ld (0x02, sp), a
- 000204 6B 01 [ 1] 439 ld (0x01, sp), a
- 000206 1E 0B [ 2] 440 ldw x, (0x0b, sp)
- 000208 72 FB 03 [ 2] 441 addw x, (0x03, sp)
- 00020B 1F 11 [ 2] 442 ldw (0x11, sp), x
- 00020D 7B 0A [ 1] 443 ld a, (0x0a, sp)
- 00020F 19 02 [ 1] 444 adc a, (0x02, sp)
- 000211 6B 10 [ 1] 445 ld (0x10, sp), a
- 000213 7B 09 [ 1] 446 ld a, (0x09, sp)
- 000215 19 01 [ 1] 447 adc a, (0x01, sp)
- 000217 6B 0F [ 1] 448 ld (0x0f, sp), a
- 000219 16 11 [ 2] 449 ldw y, (0x11, sp)
- 00021B 17 0B [ 2] 450 ldw (0x0b, sp), y
- 00021D 16 0F [ 2] 451 ldw y, (0x0f, sp)
- 00021F 17 09 [ 2] 452 ldw (0x09, sp), y
- 000221 1E 07 [ 2] 453 ldw x, (0x07, sp)
- 000223 13 11 [ 2] 454 cpw x, (0x11, sp)
- 000225 7B 06 [ 1] 455 ld a, (0x06, sp)
- 000227 12 10 [ 1] 456 sbc a, (0x10, sp)
- 000229 7B 05 [ 1] 457 ld a, (0x05, sp)
- 00022B 12 0F [ 1] 458 sbc a, (0x0f, sp)
- 00022D 25 07 [ 1] 459 jrc 00103$
- 460 ; ../time.c: 142: year++;
- 00022F 1E 13 [ 2] 461 ldw x, (0x13, sp)
- 000231 5C [ 1] 462 incw x
- 000232 1F 13 [ 2] 463 ldw (0x13, sp), x
- 000234 20 AA [ 2] 464 jra 00101$
- 000236 465 00103$:
- 466 ; ../time.c: 144: lastTime.tm_year=year-1900;
- 000236 AEr00r25 [ 2] 467 ldw x, #(_lastTime + 0)+5
- 000239 1F 0F [ 2] 468 ldw (0x0f, sp), x
- 00023B 1E 13 [ 2] 469 ldw x, (0x13, sp)
- 00023D 1D 07 6C [ 2] 470 subw x, #0x076c
- 000240 1F 11 [ 2] 471 ldw (0x11, sp), x
- 000242 1E 0F [ 2] 472 ldw x, (0x0f, sp)
- 000244 16 11 [ 2] 473 ldw y, (0x11, sp)
- 000246 FF [ 2] 474 ldw (x), y
- 475 ; ../time.c: 146: days -= LEAP_YEAR(year) ? 366 : 365;
- 000247 16 0D [ 2] 476 ldw y, (0x0d, sp)
- 000249 17 13 [ 2] 477 ldw (0x13, sp), y
- 00024B 1E 0D [ 2] 478 ldw x, (0x0d, sp)
- 00024D 26 07 [ 1] 479 jrne 00120$
- 00024F AE 01 6E [ 2] 480 ldw x, #0x016e
- 000252 1F 11 [ 2] 481 ldw (0x11, sp), x
- 000254 20 05 [ 2] 482 jra 00121$
- 000256 483 00120$:
- 000256 AE 01 6D [ 2] 484 ldw x, #0x016d
- 000259 1F 11 [ 2] 485 ldw (0x11, sp), x
- 00025B 486 00121$:
- 00025B 16 11 [ 2] 487 ldw y, (0x11, sp)
- 00025D 17 03 [ 2] 488 ldw (0x03, sp), y
- 00025F 7B 03 [ 1] 489 ld a, (0x03, sp)
- 000261 49 [ 1] 490 rlc a
- 000262 4F [ 1] 491 clr a
- 000263 A2 00 [ 1] 492 sbc a, #0x00
- 000265 6B 02 [ 1] 493 ld (0x02, sp), a
- 000267 6B 01 [ 1] 494 ld (0x01, sp), a
- 000269 1E 0B [ 2] 495 ldw x, (0x0b, sp)
- 00026B 72 F0 03 [ 2] 496 subw x, (0x03, sp)
- 00026E 1F 11 [ 2] 497 ldw (0x11, sp), x
- 000270 7B 0A [ 1] 498 ld a, (0x0a, sp)
- 000272 12 02 [ 1] 499 sbc a, (0x02, sp)
- 000274 6B 10 [ 1] 500 ld (0x10, sp), a
- 000276 7B 09 [ 1] 501 ld a, (0x09, sp)
- 000278 12 01 [ 1] 502 sbc a, (0x01, sp)
- 00027A 6B 0F [ 1] 503 ld (0x0f, sp), a
- 504 ; ../time.c: 147: epoch -= days; // now it is days in this year, starting at 0
- 00027C 1E 07 [ 2] 505 ldw x, (0x07, sp)
- 00027E 72 F0 11 [ 2] 506 subw x, (0x11, sp)
- 000281 1F 0D [ 2] 507 ldw (0x0d, sp), x
- 000283 7B 06 [ 1] 508 ld a, (0x06, sp)
- 000285 12 10 [ 1] 509 sbc a, (0x10, sp)
- 000287 6B 0C [ 1] 510 ld (0x0c, sp), a
- 000289 7B 05 [ 1] 511 ld a, (0x05, sp)
- 00028B 12 0F [ 1] 512 sbc a, (0x0f, sp)
- 00028D 6B 0B [ 1] 513 ld (0x0b, sp), a
- 00028F 16 0D [ 2] 514 ldw y, (0x0d, sp)
- 000291 17 08 [ 2] 515 ldw (0x08, sp), y
- 000293 16 0B [ 2] 516 ldw y, (0x0b, sp)
- 000295 17 06 [ 2] 517 ldw (0x06, sp), y
- 518 ; ../time.c: 148: lastTime.tm_yday=epoch;
- 000297 AEr00r28 [ 2] 519 ldw x, #(_lastTime + 0)+8
- 00029A 16 08 [ 2] 520 ldw y, (0x08, sp)
- 00029C FF [ 2] 521 ldw (x), y
- 522 ; ../time.c: 153: for (month=0; month<12; month++) {
- 00029D 0F 12 [ 1] 523 clr (0x12, sp)
- 00029F 524 00114$:
- 525 ; ../time.c: 154: if (month==1) { // februari
- 00029F 7B 12 [ 1] 526 ld a, (0x12, sp)
- 0002A1 4A [ 1] 527 dec a
- 0002A2 26 0C [ 1] 528 jrne 00108$
- 529 ; ../time.c: 155: if (LEAP_YEAR(year)) {
- 0002A4 1E 13 [ 2] 530 ldw x, (0x13, sp)
- 0002A6 26 04 [ 1] 531 jrne 00105$
- 532 ; ../time.c: 156: monthLength=29;
- 0002A8 A6 1D [ 1] 533 ld a, #0x1d
- 0002AA 20 10 [ 2] 534 jra 00109$
- 0002AC 535 00105$:
- 536 ; ../time.c: 158: monthLength=28;
- 0002AC A6 1C [ 1] 537 ld a, #0x1c
- 0002AE 20 0C [ 2] 538 jra 00109$
- 0002B0 539 00108$:
- 540 ; ../time.c: 161: monthLength = monthDays[month];
- 0002B0 7B 12 [ 1] 541 ld a, (0x12, sp)
- 0002B2 ABr00 [ 1] 542 add a, #<(_monthDays + 0)
- 0002B4 88 [ 1] 543 push a
- 0002B5 4F [ 1] 544 clr a
- 0002B6 A9s00 [ 1] 545 adc a, #((_monthDays + 0) >> 8)
- 0002B8 95 [ 1] 546 ld xh, a
- 0002B9 84 [ 1] 547 pop a
- 0002BA 97 [ 1] 548 ld xl, a
- 0002BB F6 [ 1] 549 ld a, (x)
- 0002BC 550 00109$:
- 551 ; ../time.c: 164: if (epoch>=monthLength) {
- 0002BC 6B 11 [ 1] 552 ld (0x11, sp), a
- 0002BE 0F 10 [ 1] 553 clr (0x10, sp)
- 0002C0 0F 0F [ 1] 554 clr (0x0f, sp)
- 0002C2 0F 0E [ 1] 555 clr (0x0e, sp)
- 0002C4 1E 08 [ 2] 556 ldw x, (0x08, sp)
- 0002C6 13 10 [ 2] 557 cpw x, (0x10, sp)
- 0002C8 7B 07 [ 1] 558 ld a, (0x07, sp)
- 0002CA 12 0F [ 1] 559 sbc a, (0x0f, sp)
- 0002CC 7B 06 [ 1] 560 ld a, (0x06, sp)
- 0002CE 12 0E [ 1] 561 sbc a, (0x0e, sp)
- 0002D0 25 1B [ 1] 562 jrc 00113$
- 563 ; ../time.c: 165: epoch-=monthLength;
- 0002D2 16 08 [ 2] 564 ldw y, (0x08, sp)
- 0002D4 72 F2 10 [ 2] 565 subw y, (0x10, sp)
- 0002D7 7B 07 [ 1] 566 ld a, (0x07, sp)
- 0002D9 12 0F [ 1] 567 sbc a, (0x0f, sp)
- 0002DB 97 [ 1] 568 ld xl, a
- 0002DC 7B 06 [ 1] 569 ld a, (0x06, sp)
- 0002DE 12 0E [ 1] 570 sbc a, (0x0e, sp)
- 0002E0 95 [ 1] 571 ld xh, a
- 0002E1 17 08 [ 2] 572 ldw (0x08, sp), y
- 0002E3 1F 06 [ 2] 573 ldw (0x06, sp), x
- 574 ; ../time.c: 153: for (month=0; month<12; month++) {
- 0002E5 0C 12 [ 1] 575 inc (0x12, sp)
- 0002E7 7B 12 [ 1] 576 ld a, (0x12, sp)
- 0002E9 A1 0C [ 1] 577 cp a, #0x0c
- 0002EB 25 B2 [ 1] 578 jrc 00114$
- 0002ED 579 00113$:
- 580 ; ../time.c: 170: lastTime.tm_mon=month;
- 0002ED AEr00r24 [ 2] 581 ldw x, #(_lastTime + 0)+4
- 0002F0 7B 12 [ 1] 582 ld a, (0x12, sp)
- 0002F2 F7 [ 1] 583 ld (x), a
- 584 ; ../time.c: 171: lastTime.tm_mday=epoch+1;
- 0002F3 AEr00r23 [ 2] 585 ldw x, #(_lastTime + 0)+3
- 0002F6 7B 09 [ 1] 586 ld a, (0x09, sp)
- 0002F8 4C [ 1] 587 inc a
- 0002F9 F7 [ 1] 588 ld (x), a
- 589 ; ../time.c: 173: lastTime.tm_isdst=0;
- 0002FA AEr00r2A [ 2] 590 ldw x, #(_lastTime + 0)+10
- 0002FD 7F [ 1] 591 clr (x)
- 592 ; ../time.c: 175: return &lastTime;
- 0002FE AEr00r20 [ 2] 593 ldw x, #(_lastTime + 0)
- 594 ; ../time.c: 176: }
- 000301 5B 14 [ 2] 595 addw sp, #20
- 000303 81 [ 4] 596 ret
- 597 ; ../time.c: 179: time_t mktime(struct tm *timeptr) {
- 598 ; -----------------------------------------
- 599 ; function mktime
- 600 ; -----------------------------------------
- 000304 601 _mktime:
- 000304 52 12 [ 2] 602 sub sp, #18
- 603 ; ../time.c: 180: int year=timeptr->tm_year+1900, month=timeptr->tm_mon, i;
- 000306 16 15 [ 2] 604 ldw y, (0x15, sp)
- 000308 17 01 [ 2] 605 ldw (0x01, sp), y
- 00030A 93 [ 1] 606 ldw x, y
- 00030B EE 05 [ 2] 607 ldw x, (0x5, x)
- 00030D 1C 07 6C [ 2] 608 addw x, #0x076c
- 000310 1F 0B [ 2] 609 ldw (0x0b, sp), x
- 000312 1E 01 [ 2] 610 ldw x, (0x01, sp)
- 000314 E6 04 [ 1] 611 ld a, (0x4, x)
- 000316 5F [ 1] 612 clrw x
- 000317 97 [ 1] 613 ld xl, a
- 000318 1F 03 [ 2] 614 ldw (0x03, sp), x
- 615 ; ../time.c: 183: CheckTime(timeptr);
- 00031A 1E 01 [ 2] 616 ldw x, (0x01, sp)
- 00031C 89 [ 2] 617 pushw x
- 00031D CDr00r3A [ 4] 618 call _CheckTime
- 000320 5B 02 [ 2] 619 addw sp, #2
- 620 ; ../time.c: 186: seconds= (year-1970)*(60*60*24L*365);
- 000322 1E 0B [ 2] 621 ldw x, (0x0b, sp)
- 000324 1D 07 B2 [ 2] 622 subw x, #0x07b2
- 000327 90 5F [ 1] 623 clrw y
- 000329 5D [ 2] 624 tnzw x
- 00032A 2A 02 [ 1] 625 jrpl 00154$
- 00032C 90 5A [ 2] 626 decw y
- 00032E 627 00154$:
- 00032E 89 [ 2] 628 pushw x
- 00032F 90 89 [ 2] 629 pushw y
- 000331 4B 80 [ 1] 630 push #0x80
- 000333 4B 33 [ 1] 631 push #0x33
- 000335 4B E1 [ 1] 632 push #0xe1
- 000337 4B 01 [ 1] 633 push #0x01
- 000339 CDr00r00 [ 4] 634 call __mullong
- 00033C 5B 08 [ 2] 635 addw sp, #8
- 636 ; ../time.c: 189: for (i=1970; i<year; i++) {
- 00033E 1F 11 [ 2] 637 ldw (0x11, sp), x
- 000340 17 0F [ 2] 638 ldw (0x0f, sp), y
- 000342 AE 07 B2 [ 2] 639 ldw x, #0x07b2
- 000345 1F 0D [ 2] 640 ldw (0x0d, sp), x
- 000347 641 00110$:
- 000347 1E 0D [ 2] 642 ldw x, (0x0d, sp)
- 000349 13 0B [ 2] 643 cpw x, (0x0b, sp)
- 00034B 2E 29 [ 1] 644 jrsge 00124$
- 645 ; ../time.c: 190: if (LEAP_YEAR(i)) {
- 00034D 4B 04 [ 1] 646 push #0x04
- 00034F 4B 00 [ 1] 647 push #0x00
- 000351 1E 0F [ 2] 648 ldw x, (0x0f, sp)
- 000353 89 [ 2] 649 pushw x
- 000354 CDr00r00 [ 4] 650 call __modsint
- 000357 5B 04 [ 2] 651 addw sp, #4
- 000359 5D [ 2] 652 tnzw x
- 00035A 26 13 [ 1] 653 jrne 00111$
- 654 ; ../time.c: 191: seconds+= 60*60*24L;
- 00035C 1E 11 [ 2] 655 ldw x, (0x11, sp)
- 00035E 1C 51 80 [ 2] 656 addw x, #0x5180
- 000361 1F 11 [ 2] 657 ldw (0x11, sp), x
- 000363 7B 10 [ 1] 658 ld a, (0x10, sp)
- 000365 A9 01 [ 1] 659 adc a, #0x01
- 000367 6B 10 [ 1] 660 ld (0x10, sp), a
- 000369 7B 0F [ 1] 661 ld a, (0x0f, sp)
- 00036B A9 00 [ 1] 662 adc a, #0x00
- 00036D 6B 0F [ 1] 663 ld (0x0f, sp), a
- 00036F 664 00111$:
- 665 ; ../time.c: 189: for (i=1970; i<year; i++) {
- 00036F 1E 0D [ 2] 666 ldw x, (0x0d, sp)
- 000371 5C [ 1] 667 incw x
- 000372 1F 0D [ 2] 668 ldw (0x0d, sp), x
- 000374 20 D1 [ 2] 669 jra 00110$
- 000376 670 00124$:
- 000376 16 11 [ 2] 671 ldw y, (0x11, sp)
- 000378 17 07 [ 2] 672 ldw (0x07, sp), y
- 00037A 16 0F [ 2] 673 ldw y, (0x0f, sp)
- 00037C 17 05 [ 2] 674 ldw (0x05, sp), y
- 675 ; ../time.c: 196: for (i=0; i<month; i++) {
- 00037E 4B 04 [ 1] 676 push #0x04
- 000380 4B 00 [ 1] 677 push #0x00
- 000382 1E 0D [ 2] 678 ldw x, (0x0d, sp)
- 000384 89 [ 2] 679 pushw x
- 000385 CDr00r00 [ 4] 680 call __modsint
- 000388 5B 04 [ 2] 681 addw sp, #4
- 00038A 1F 09 [ 2] 682 ldw (0x09, sp), x
- 00038C 90 5F [ 1] 683 clrw y
- 00038E 684 00113$:
- 00038E 51 [ 1] 685 exgw x, y
- 00038F 13 03 [ 2] 686 cpw x, (0x03, sp)
- 000391 51 [ 1] 687 exgw x, y
- 000392 2E 62 [ 1] 688 jrsge 00108$
- 689 ; ../time.c: 197: if (i==1 && LEAP_YEAR(year)) {
- 000394 90 A3 00 01 [ 2] 690 cpw y, #0x0001
- 000398 26 1B [ 1] 691 jrne 00105$
- 00039A 1E 09 [ 2] 692 ldw x, (0x09, sp)
- 00039C 26 17 [ 1] 693 jrne 00105$
- 694 ; ../time.c: 198: seconds+= 60*60*24L*29;
- 00039E 1E 07 [ 2] 695 ldw x, (0x07, sp)
- 0003A0 1C 3B 80 [ 2] 696 addw x, #0x3b80
- 0003A3 1F 11 [ 2] 697 ldw (0x11, sp), x
- 0003A5 1E 05 [ 2] 698 ldw x, (0x05, sp)
- 0003A7 24 01 [ 1] 699 jrnc 00163$
- 0003A9 5C [ 1] 700 incw x
- 0003AA 701 00163$:
- 0003AA 1C 00 26 [ 2] 702 addw x, #0x0026
- 0003AD 1F 05 [ 2] 703 ldw (0x05, sp), x
- 0003AF 1E 11 [ 2] 704 ldw x, (0x11, sp)
- 0003B1 1F 07 [ 2] 705 ldw (0x07, sp), x
- 0003B3 20 3D [ 2] 706 jra 00114$
- 0003B5 707 00105$:
- 708 ; ../time.c: 200: seconds+= 60*60*24L*monthDays[i];
- 0003B5 93 [ 1] 709 ldw x, y
- 0003B6 1Cr00r00 [ 2] 710 addw x, #(_monthDays + 0)
- 0003B9 F6 [ 1] 711 ld a, (x)
- 0003BA 6B 12 [ 1] 712 ld (0x12, sp), a
- 0003BC 0F 11 [ 1] 713 clr (0x11, sp)
- 0003BE 0F 10 [ 1] 714 clr (0x10, sp)
- 0003C0 0F 0F [ 1] 715 clr (0x0f, sp)
- 0003C2 90 89 [ 2] 716 pushw y
- 0003C4 1E 13 [ 2] 717 ldw x, (0x13, sp)
- 0003C6 89 [ 2] 718 pushw x
- 0003C7 1E 13 [ 2] 719 ldw x, (0x13, sp)
- 0003C9 89 [ 2] 720 pushw x
- 0003CA 4B 80 [ 1] 721 push #0x80
- 0003CC 4B 51 [ 1] 722 push #0x51
- 0003CE 4B 01 [ 1] 723 push #0x01
- 0003D0 4B 00 [ 1] 724 push #0x00
- 0003D2 CDr00r00 [ 4] 725 call __mullong
- 0003D5 5B 08 [ 2] 726 addw sp, #8
- 0003D7 1F 0F [ 2] 727 ldw (0x0f, sp), x
- 0003D9 17 0D [ 2] 728 ldw (0x0d, sp), y
- 0003DB 90 85 [ 2] 729 popw y
- 0003DD 1E 07 [ 2] 730 ldw x, (0x07, sp)
- 0003DF 72 FB 0D [ 2] 731 addw x, (0x0d, sp)
- 0003E2 1F 11 [ 2] 732 ldw (0x11, sp), x
- 0003E4 1E 05 [ 2] 733 ldw x, (0x05, sp)
- 0003E6 24 01 [ 1] 734 jrnc 00164$
- 0003E8 5C [ 1] 735 incw x
- 0003E9 736 00164$:
- 0003E9 72 FB 0B [ 2] 737 addw x, (0x0b, sp)
- 0003EC 1F 05 [ 2] 738 ldw (0x05, sp), x
- 0003EE 1E 11 [ 2] 739 ldw x, (0x11, sp)
- 0003F0 1F 07 [ 2] 740 ldw (0x07, sp), x
- 0003F2 741 00114$:
- 742 ; ../time.c: 196: for (i=0; i<month; i++) {
- 0003F2 90 5C [ 1] 743 incw y
- 0003F4 20 98 [ 2] 744 jra 00113$
- 0003F6 745 00108$:
- 746 ; ../time.c: 204: seconds+= (timeptr->tm_mday-1)*60*60*24L;
- 0003F6 1E 01 [ 2] 747 ldw x, (0x01, sp)
- 0003F8 E6 03 [ 1] 748 ld a, (0x3, x)
- 0003FA 5F [ 1] 749 clrw x
- 0003FB 97 [ 1] 750 ld xl, a
- 0003FC 5A [ 2] 751 decw x
- 0003FD 90 5F [ 1] 752 clrw y
- 0003FF 5D [ 2] 753 tnzw x
- 000400 2A 02 [ 1] 754 jrpl 00165$
- 000402 90 5A [ 2] 755 decw y
- 000404 756 00165$:
- 000404 89 [ 2] 757 pushw x
- 000405 90 89 [ 2] 758 pushw y
- 000407 4B 80 [ 1] 759 push #0x80
- 000409 4B 51 [ 1] 760 push #0x51
- 00040B 4B 01 [ 1] 761 push #0x01
- 00040D 4B 00 [ 1] 762 push #0x00
- 00040F CDr00r00 [ 4] 763 call __mullong
- 000412 5B 08 [ 2] 764 addw sp, #8
- 000414 51 [ 1] 765 exgw x, y
- 000415 72 F9 07 [ 2] 766 addw y, (0x07, sp)
- 000418 9F [ 1] 767 ld a, xl
- 000419 19 06 [ 1] 768 adc a, (0x06, sp)
- 00041B 02 [ 1] 769 rlwa x
- 00041C 19 05 [ 1] 770 adc a, (0x05, sp)
- 00041E 95 [ 1] 771 ld xh, a
- 00041F 17 11 [ 2] 772 ldw (0x11, sp), y
- 000421 1F 0F [ 2] 773 ldw (0x0f, sp), x
- 774 ; ../time.c: 205: seconds+= timeptr->tm_hour*60*60L;
- 000423 1E 01 [ 2] 775 ldw x, (0x01, sp)
- 000425 E6 02 [ 1] 776 ld a, (0x2, x)
- 000427 5F [ 1] 777 clrw x
- 000428 97 [ 1] 778 ld xl, a
- 000429 90 5F [ 1] 779 clrw y
- 00042B 89 [ 2] 780 pushw x
- 00042C 90 89 [ 2] 781 pushw y
- 00042E 4B 10 [ 1] 782 push #0x10
- 000430 4B 0E [ 1] 783 push #0x0e
- 000432 5F [ 1] 784 clrw x
- 000433 89 [ 2] 785 pushw x
- 000434 CDr00r00 [ 4] 786 call __mullong
- 000437 5B 08 [ 2] 787 addw sp, #8
- 000439 90 9F [ 1] 788 ld a, yl
- 00043B 72 FB 11 [ 2] 789 addw x, (0x11, sp)
- 00043E 19 10 [ 1] 790 adc a, (0x10, sp)
- 000440 90 02 [ 1] 791 rlwa y
- 000442 19 0F [ 1] 792 adc a, (0x0f, sp)
- 000444 90 95 [ 1] 793 ld yh, a
- 000446 1F 0D [ 2] 794 ldw (0x0d, sp), x
- 795 ; ../time.c: 206: seconds+= timeptr->tm_min*60;
- 000448 1E 01 [ 2] 796 ldw x, (0x01, sp)
- 00044A E6 01 [ 1] 797 ld a, (0x1, x)
- 00044C 5F [ 1] 798 clrw x
- 00044D 97 [ 1] 799 ld xl, a
- 00044E 89 [ 2] 800 pushw x
- 00044F 58 [ 2] 801 sllw x
- 000450 58 [ 2] 802 sllw x
- 000451 58 [ 2] 803 sllw x
- 000452 58 [ 2] 804 sllw x
- 000453 72 F0 01 [ 2] 805 subw x, (1, sp)
- 000456 58 [ 2] 806 sllw x
- 000457 58 [ 2] 807 sllw x
- 000458 5B 02 [ 2] 808 addw sp, #2
- 00045A 1F 11 [ 2] 809 ldw (0x11, sp), x
- 00045C 7B 11 [ 1] 810 ld a, (0x11, sp)
- 00045E 49 [ 1] 811 rlc a
- 00045F 4F [ 1] 812 clr a
- 000460 A2 00 [ 1] 813 sbc a, #0x00
- 000462 6B 10 [ 1] 814 ld (0x10, sp), a
- 000464 6B 0F [ 1] 815 ld (0x0f, sp), a
- 000466 1E 0D [ 2] 816 ldw x, (0x0d, sp)
- 000468 72 FB 11 [ 2] 817 addw x, (0x11, sp)
- 00046B 90 9F [ 1] 818 ld a, yl
- 00046D 19 10 [ 1] 819 adc a, (0x10, sp)
- 00046F 88 [ 1] 820 push a
- 000470 90 9E [ 1] 821 ld a, yh
- 000472 19 10 [ 1] 822 adc a, (0x10, sp)
- 000474 90 95 [ 1] 823 ld yh, a
- 000476 84 [ 1] 824 pop a
- 000477 1F 11 [ 2] 825 ldw (0x11, sp), x
- 000479 6B 10 [ 1] 826 ld (0x10, sp), a
- 827 ; ../time.c: 207: seconds+= timeptr->tm_sec;
- 00047B 1E 01 [ 2] 828 ldw x, (0x01, sp)
- 00047D F6 [ 1] 829 ld a, (x)
- 00047E 5F [ 1] 830 clrw x
- 00047F 97 [ 1] 831 ld xl, a
- 000480 1F 0D [ 2] 832 ldw (0x0d, sp), x
- 000482 7B 0D [ 1] 833 ld a, (0x0d, sp)
- 000484 49 [ 1] 834 rlc a
- 000485 4F [ 1] 835 clr a
- 000486 A2 00 [ 1] 836 sbc a, #0x00
- 000488 6B 0C [ 1] 837 ld (0x0c, sp), a
- 00048A 6B 0B [ 1] 838 ld (0x0b, sp), a
- 00048C 1E 11 [ 2] 839 ldw x, (0x11, sp)
- 00048E 72 FB 0D [ 2] 840 addw x, (0x0d, sp)
- 000491 7B 10 [ 1] 841 ld a, (0x10, sp)
- 000493 19 0C [ 1] 842 adc a, (0x0c, sp)
- 000495 90 02 [ 1] 843 rlwa y
- 000497 19 0B [ 1] 844 adc a, (0x0b, sp)
- 000499 90 95 [ 1] 845 ld yh, a
- 846 ; ../time.c: 208: return seconds;
- 847 ; ../time.c: 209: }
- 00049B 5B 12 [ 2] 848 addw sp, #18
- 00049D 81 [ 4] 849 ret
- 850 .area CODE
- 851 .area CONST
- 000000 852 _monthDays:
- 000000 1F 853 .db #0x1f ; 31
- 000001 1C 854 .db #0x1c ; 28
- 000002 1F 855 .db #0x1f ; 31
- 000003 1E 856 .db #0x1e ; 30
- 000004 1F 857 .db #0x1f ; 31
- 000005 1E 858 .db #0x1e ; 30
- 000006 1F 859 .db #0x1f ; 31
- 000007 1F 860 .db #0x1f ; 31
- 000008 1E 861 .db #0x1e ; 30
- 000009 1F 862 .db #0x1f ; 31
- 00000A 1E 863 .db #0x1e ; 30
- 00000B 1F 864 .db #0x1f ; 31
- 00000C 865 ___month:
- 00000Cr00r51 866 .dw __str_1
- 00000Er00r55 867 .dw __str_2
- 000010r00r59 868 .dw __str_3
- 000012r00r5D 869 .dw __str_4
- 000014r00r61 870 .dw __str_5
- 000016r00r65 871 .dw __str_6
- 000018r00r69 872 .dw __str_7
- 00001Ar00r6D 873 .dw __str_8
- 00001Cr00r71 874 .dw __str_9
- 00001Er00r75 875 .dw __str_10
- 000020r00r79 876 .dw __str_11
- 000022r00r7D 877 .dw __str_12
- 000024 878 ___day:
- 000024r00r81 879 .dw __str_13
- 000026r00r85 880 .dw __str_14
- 000028r00r89 881 .dw __str_15
- 00002Ar00r8D 882 .dw __str_16
- 00002Cr00r91 883 .dw __str_17
- 00002Er00r95 884 .dw __str_18
- 000030r00r99 885 .dw __str_19
- 886 .area CONST
- 000032 887 ___str_0:
- 000032 25 73 20 25 73 20 25 888 .ascii "%s %s %2d %02d:%02d:%02d %04d"
- 32 64 20 25 30 32 64
- 3A 25 30 32 64 3A 25
- 30 32 64 20 25 30 34
- 64
- 00004F 0A 889 .db 0x0a
- 000050 00 890 .db 0x00
- 891 .area CODE
- 892 .area CONST
- 000051 893 __str_1:
- 000051 4A 61 6E 894 .ascii "Jan"
- 000054 00 895 .db 0x00
- 896 .area CODE
- 897 .area CONST
- 000055 898 __str_2:
- 000055 46 65 62 899 .ascii "Feb"
- 000058 00 900 .db 0x00
- 901 .area CODE
- 902 .area CONST
- 000059 903 __str_3:
- 000059 4D 61 72 904 .ascii "Mar"
- 00005C 00 905 .db 0x00
- 906 .area CODE
- 907 .area CONST
- 00005D 908 __str_4:
- 00005D 41 70 72 909 .ascii "Apr"
- 000060 00 910 .db 0x00
- 911 .area CODE
- 912 .area CONST
- 000061 913 __str_5:
- 000061 4D 61 79 914 .ascii "May"
- 000064 00 915 .db 0x00
- 916 .area CODE
- 917 .area CONST
- 000065 918 __str_6:
- 000065 4A 75 6E 919 .ascii "Jun"
- 000068 00 920 .db 0x00
- 921 .area CODE
- 922 .area CONST
- 000069 923 __str_7:
- 000069 4A 75 6C 924 .ascii "Jul"
- 00006C 00 925 .db 0x00
- 926 .area CODE
- 927 .area CONST
- 00006D 928 __str_8:
- 00006D 41 75 67 929 .ascii "Aug"
- 000070 00 930 .db 0x00
- 931 .area CODE
- 932 .area CONST
- 000071 933 __str_9:
- 000071 53 65 70 934 .ascii "Sep"
- 000074 00 935 .db 0x00
- 936 .area CODE
- 937 .area CONST
- 000075 938 __str_10:
- 000075 4F 63 74 939 .ascii "Oct"
- 000078 00 940 .db 0x00
- 941 .area CODE
- 942 .area CONST
- 000079 943 __str_11:
- 000079 4E 6F 76 944 .ascii "Nov"
- 00007C 00 945 .db 0x00
- 946 .area CODE
- 947 .area CONST
- 00007D 948 __str_12:
- 00007D 44 65 63 949 .ascii "Dec"
- 000080 00 950 .db 0x00
- 951 .area CODE
- 952 .area CONST
- 000081 953 __str_13:
- 000081 53 75 6E 954 .ascii "Sun"
- 000084 00 955 .db 0x00
- 956 .area CODE
- 957 .area CONST
- 000085 958 __str_14:
- 000085 4D 6F 6E 959 .ascii "Mon"
- 000088 00 960 .db 0x00
- 961 .area CODE
- 962 .area CONST
- 000089 963 __str_15:
- 000089 54 75 65 964 .ascii "Tue"
- 00008C 00 965 .db 0x00
- 966 .area CODE
- 967 .area CONST
- 00008D 968 __str_16:
- 00008D 57 65 64 969 .ascii "Wed"
- 000090 00 970 .db 0x00
- 971 .area CODE
- 972 .area CONST
- 000091 973 __str_17:
- 000091 54 68 75 974 .ascii "Thu"
- 000094 00 975 .db 0x00
- 976 .area CODE
- 977 .area CONST
- 000095 978 __str_18:
- 000095 46 72 69 979 .ascii "Fri"
- 000098 00 980 .db 0x00
- 981 .area CODE
- 982 .area CONST
- 000099 983 __str_19:
- 000099 53 61 74 984 .ascii "Sat"
- 00009C 00 985 .db 0x00
- 986 .area CODE
- 987 .area INITIALIZER
- 988 .area CABS (ABS)