⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_time.lst

📁 AVR平台下的ucos版本
💻 LST
📖 第 1 页 / 共 2 页
字号:
 245 0084 90E0      		ldi r25,hi8(81)
 246 0086 73C0      		rjmp .L4
 247               	.L7:
  88:os/source/os_time.c ****         }
  89:os/source/os_time.c ****         if (seconds > 59) {
 249               	.LM14:
 250 0088 ABE3      		ldi r26,lo8(59)
 251 008a AD15      		cp r26,r13
 252 008c 18F4      		brsh .L8
  90:os/source/os_time.c ****             return (OS_TIME_INVALID_SECONDS);
 254               	.LM15:
 255 008e 82E5      		ldi r24,lo8(82)
 256 0090 90E0      		ldi r25,hi8(82)
 257 0092 6DC0      		rjmp .L4
 258               	.L8:
  91:os/source/os_time.c ****         }
  92:os/source/os_time.c ****         if (milli > 999) {
 260               	.LM16:
 261 0094 B3E0      		ldi r27,hi8(1000)
 262 0096 C83E      		cpi r28,lo8(1000)
 263 0098 DB07      		cpc r29,r27
 264 009a 18F0      		brlo .L9
  93:os/source/os_time.c ****             return (OS_TIME_INVALID_MILLI);
 266               	.LM17:
 267 009c 83E5      		ldi r24,lo8(83)
 268 009e 90E0      		ldi r25,hi8(83)
 269 00a0 66C0      		rjmp .L4
 270               	.L9:
  94:os/source/os_time.c ****         }
  95:os/source/os_time.c ****                                                  /* Compute the total number of clock ticks require
  96:os/source/os_time.c ****                                                  /* .. (rounded to the nearest tick)               
  97:os/source/os_time.c ****         ticks = ((INT32U)hours * 3600L + (INT32U)minutes * 60L + (INT32U)seconds) * OS_TICKS_PER_SE
 272               	.LM18:
 273 00a2 9927      		clr r25
 274 00a4 AA27      		clr r26
 275 00a6 BB27      		clr r27
 276 00a8 BC01      		movw r22,r24
 277 00aa CD01      		movw r24,r26
 278 00ac 20E1      		ldi r18,lo8(3600)
 279 00ae 3EE0      		ldi r19,hi8(3600)
 280 00b0 40E0      		ldi r20,hlo8(3600)
 281 00b2 50E0      		ldi r21,hhi8(3600)
 282 00b4 0E94 0000 		call __mulsi3
 283 00b8 7B01      		movw r14,r22
 284 00ba 8C01      		movw r16,r24
 285 00bc 8A2D      		mov r24,r10
 286 00be 9927      		clr r25
 287 00c0 AA27      		clr r26
 288 00c2 BB27      		clr r27
 289 00c4 BC01      		movw r22,r24
 290 00c6 CD01      		movw r24,r26
 291 00c8 2CE3      		ldi r18,lo8(60)
 292 00ca 30E0      		ldi r19,hi8(60)
 293 00cc 40E0      		ldi r20,hlo8(60)
 294 00ce 50E0      		ldi r21,hhi8(60)
 295 00d0 0E94 0000 		call __mulsi3
 296 00d4 DC01      		movw r26,r24
 297 00d6 CB01      		movw r24,r22
 298 00d8 E80E      		add r14,r24
 299 00da F91E      		adc r15,r25
 300 00dc 0A1F      		adc r16,r26
 301 00de 1B1F      		adc r17,r27
 302 00e0 ED0C      		add r14,r13
 303 00e2 F11C      		adc r15,__zero_reg__
 304 00e4 011D      		adc r16,__zero_reg__
 305 00e6 111D      		adc r17,__zero_reg__
 306 00e8 C801      		movw r24,r16
 307 00ea B701      		movw r22,r14
 308 00ec 24E6      		ldi r18,lo8(100)
 309 00ee 30E0      		ldi r19,hi8(100)
 310 00f0 40E0      		ldi r20,hlo8(100)
 311 00f2 50E0      		ldi r21,hhi8(100)
 312 00f4 0E94 0000 		call __mulsi3
 313 00f8 7B01      		movw r14,r22
 314 00fa 8C01      		movw r16,r24
 315 00fc CE01      		movw r24,r28
 316 00fe AA27      		clr r26
 317 0100 BB27      		clr r27
 318 0102 BC01      		movw r22,r24
 319 0104 CD01      		movw r24,r26
 320 0106 0E94 0000 		call __mulsi3
 321 010a DC01      		movw r26,r24
 322 010c CB01      		movw r24,r22
 323 010e 8C50      		subi r24,lo8(-(500))
 324 0110 9E4F      		sbci r25,hi8(-(500))
 325 0112 AF4F      		sbci r26,hlo8(-(500))
 326 0114 BF4F      		sbci r27,hhi8(-(500))
 327 0116 BC01      		movw r22,r24
 328 0118 CD01      		movw r24,r26
 329 011a 28EE      		ldi r18,lo8(1000)
 330 011c 33E0      		ldi r19,hi8(1000)
 331 011e 40E0      		ldi r20,hlo8(1000)
 332 0120 50E0      		ldi r21,hhi8(1000)
 333 0122 0E94 0000 		call __udivmodsi4
 334 0126 E20E      		add r14,r18
 335 0128 F31E      		adc r15,r19
 336 012a 041F      		adc r16,r20
 337 012c 151F      		adc r17,r21
  98:os/source/os_time.c ****               + OS_TICKS_PER_SEC * ((INT32U)milli + 500L / OS_TICKS_PER_SEC) / 1000L;
  99:os/source/os_time.c ****         loops = (INT16U)(ticks / 65536L);        /* Compute the integral number of 65536 tick delay
 339               	.LM19:
 340 012e 5801      		movw r10,r16
 341 0130 CC24      		clr r12
 342 0132 DD24      		clr r13
 343 0134 E501      		movw r28,r10
 100:os/source/os_time.c ****         ticks = ticks % 65536L;                  /* Obtain  the fractional number of ticks         
 345               	.LM20:
 346 0136 8FEF      		ldi r24,lo8(65535)
 347 0138 9FEF      		ldi r25,hi8(65535)
 348 013a A0E0      		ldi r26,hlo8(65535)
 349 013c B0E0      		ldi r27,hhi8(65535)
 350 013e E822      		and r14,r24
 351 0140 F922      		and r15,r25
 352 0142 0A23      		and r16,r26
 353 0144 1B23      		and r17,r27
 101:os/source/os_time.c ****         OSTimeDly((INT16U)ticks);
 355               	.LM21:
 356 0146 C701      		movw r24,r14
 357 0148 0E94 0000 		call OSTimeDly
 102:os/source/os_time.c ****         while (loops > 0) {
 103:os/source/os_time.c ****             OSTimeDly(32768);
 104:os/source/os_time.c ****             OSTimeDly(32768);
 105:os/source/os_time.c ****             loops--;
 359               	.LM22:
 360 014c AB28      		or r10,r11
 361 014e 51F0      		breq .L14
 362               	.L12:
 364               	.LM23:
 365 0150 80E0      		ldi r24,lo8(-32768)
 366 0152 90E8      		ldi r25,hi8(-32768)
 367 0154 0E94 0000 		call OSTimeDly
 369               	.LM24:
 370 0158 80E0      		ldi r24,lo8(-32768)
 371 015a 90E8      		ldi r25,hi8(-32768)
 372 015c 0E94 0000 		call OSTimeDly
 374               	.LM25:
 375 0160 2197      		sbiw r28,1
 376 0162 B1F7      		brne .L12
 377               	.L14:
 106:os/source/os_time.c ****         }
 107:os/source/os_time.c ****         return (OS_NO_ERR);
 379               	.LM26:
 380 0164 80E0      		ldi r24,lo8(0)
 381 0166 90E0      		ldi r25,hi8(0)
 382 0168 02C0      		rjmp .L4
 383               	.L5:
 108:os/source/os_time.c ****     }
 109:os/source/os_time.c ****     return (OS_TIME_ZERO_DLY);
 385               	.LM27:
 386 016a 84E5      		ldi r24,lo8(84)
 387 016c 90E0      		ldi r25,hi8(84)
 388               	.L4:
 389               	/* epilogue: frame size=0 */
 390 016e DF91      		pop r29
 391 0170 CF91      		pop r28
 392 0172 1F91      		pop r17
 393 0174 0F91      		pop r16
 394 0176 FF90      		pop r15
 395 0178 EF90      		pop r14
 396 017a DF90      		pop r13
 397 017c CF90      		pop r12
 398 017e BF90      		pop r11
 399 0180 AF90      		pop r10
 400 0182 0895      		ret
 401               	/* epilogue end (size=11) */
 402               	/* function OSTimeDlyHMSM size 156 (135) */
 408               	.Lscope1:
 409               		.text
 411               	Letext:
 412               	/* File "os/source/os_time.c": code  197 = 0x00c5 ( 171), prologues  12, epilogues  14 */
DEFINED SYMBOLS
                            *ABS*:00000000 os_time.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:133    .text:00000000 OSTimeDly
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:204    .text:0000004e OSTimeDlyHMSM
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8Iaaaa.s:411    .text:00000184 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
OSTCBCur
OSRdyTbl
OSRdyGrp
OS_Sched
__mulsi3
__udivmodsi4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -