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

📄 os_cpu_c.lst

📁 一个基于MEGA16的GUI
💻 LST
📖 第 1 页 / 共 2 页
字号:
 267 0078 8081      		ld r24,Z
 268 007a 8993      		st Y+,r24
 118:OS_CPU_C.c    **** 		OSTaskStackBottom[i] = cp;
 270               	.LM21:
 271 007c FD01      		movw r30,r26
 272 007e E050      		subi r30,lo8(-(OSTaskStackBottom))
 273 0080 F040      		sbci r31,hi8(-(OSTaskStackBottom))
 274 0082 D183      		std Z+1,r29
 275 0084 C083      		st Z,r28
 119:OS_CPU_C.c    **** 		*cp++ = ((uint8*)(&TaskFuction[i]))[HIGH_BYTE];
 277               	.LM22:
 278 0086 A050      		subi r26,lo8(-(TaskFuction))
 279 0088 B040      		sbci r27,hi8(-(TaskFuction))
 280 008a 8C91      		ld r24,X
 281 008c 8993      		st Y+,r24
 283               	.LM23:
 284 008e 9150      		subi r25,lo8(-(-1))
 285 0090 01F7      		brne .L17
 120:OS_CPU_C.c    ****     }
 121:OS_CPU_C.c    **** 
 122:OS_CPU_C.c    ****     /* 允许中断 */
 123:OS_CPU_C.c    ****     Os_Enter_Sum = 1;
 124:OS_CPU_C.c    ****     OS_EXIT_CRITICAL();
 287               	.LM24:
 288 0092 9093 0000 		sts Os_Enter_Sum,r25
 289               	/* #APP */
 290 0096 7894      		sei
 291               	/* #NOAPP */
 292               	/* epilogue: frame size=0 */
 293 0098 DF91      		pop r29
 294 009a CF91      		pop r28
 295 009c 0895      		ret
 296               	/* epilogue end (size=3) */
 297               	/* function OSStart size 79 (74) */
 304               	.Lscope2:
 306               	.global	OSTickInit
 308               	OSTickInit:
 125:OS_CPU_C.c    ****     /* 函数返回优先级最高的任务 */
 126:OS_CPU_C.c    **** }
 127:OS_CPU_C.c    **** /**************************************************************************************************
 128:OS_CPU_C.c    **** ** 函数名称: OSTickInit()
 129:OS_CPU_C.c    **** ** 功能描述: 系统节拍定时器初始化
 130:OS_CPU_C.c    **** ** 输   入: 无
 131:OS_CPU_C.c    **** ** 输   出: 无
 132:OS_CPU_C.c    **** ** 全局变量: 无
 133:OS_CPU_C.c    **** ** 调用模块: 
 134:OS_CPU_C.c    **** ** 
 135:OS_CPU_C.c    **** ** 作 者: 徐宝田
 136:OS_CPU_C.c    **** ** 日 期: 2002年2月22日
 137:OS_CPU_C.c    **** **-------------------------------------------------------------------------------------------------
 138:OS_CPU_C.c    **** ** 修改人:
 139:OS_CPU_C.c    **** ** 日 期:
 140:OS_CPU_C.c    **** **-------------------------------------------------------------------------------------------------
 141:OS_CPU_C.c    **** ***************************************************************************************************
 142:OS_CPU_C.c    **** 		void OSTickInit(void)
 143:OS_CPU_C.c    **** {
 310               	.LM25:
 311               	/* prologue: frame size=0 */
 312               	/* prologue end (size=0) */
 144:OS_CPU_C.c    **** 	 TCCR0 = 0;
 314               	.LM26:
 315 009e 13BE      		out 83-0x20,__zero_reg__
 145:OS_CPU_C.c    **** 	 TCCR0 |= (1<<CS02)|(1<<CS00);	   								/*  256预分频  								*/
 317               	.LM27:
 318 00a0 83B7      		in r24,83-0x20
 319 00a2 8560      		ori r24,lo8(5)
 320 00a4 83BF      		out 83-0x20,r24
 146:OS_CPU_C.c    **** 	 TIMSK |= (1<<TOIE0);	    							/*  T0溢出中断允许  						*/
 322               	.LM28:
 323 00a6 89B7      		in r24,89-0x20
 324 00a8 8160      		ori r24,lo8(1)
 325 00aa 89BF      		out 89-0x20,r24
 147:OS_CPU_C.c    **** 	 TCNT0 =69;			/*	置计数起始值 (256-CPU_OSC/1024/OS_TICKS_PER_SEC)							*/  
 327               	.LM29:
 328 00ac 85E4      		ldi r24,lo8(69)
 329 00ae 82BF      		out 82-0x20,r24
 330               	/* epilogue: frame size=0 */
 331 00b0 0895      		ret
 332               	/* epilogue end (size=1) */
 333               	/* function OSTickInit size 10 (9) */
 335               	.Lscope3:
 337               	.global	__vector_9
 339               	__vector_9:
 148:OS_CPU_C.c    **** }
 149:OS_CPU_C.c    **** /**************************************************************************************************
 150:OS_CPU_C.c    **** ** 函数名称: OSTickISR
 151:OS_CPU_C.c    **** ** 功能描述: 系统时钟中断服务函数
 152:OS_CPU_C.c    **** ** 输   入: 无
 153:OS_CPU_C.c    **** ** 输   出: 无
 154:OS_CPU_C.c    **** ** 全局变量: 无
 155:OS_CPU_C.c    **** ** 调用模块: OS_INT_ENTER,(UserTickTimer),OSTimeTick,OSIntExit
 156:OS_CPU_C.c    **** ** 
 157:OS_CPU_C.c    **** ** 作 者: 徐宝田
 158:OS_CPU_C.c    **** ** 日 期: 2005年5月30日
 159:OS_CPU_C.c    **** **-------------------------------------------------------------------------------------------------
 160:OS_CPU_C.c    **** ** 修改人:
 161:OS_CPU_C.c    **** ** 日 期:
 162:OS_CPU_C.c    **** **-------------------------------------------------------------------------------------------------
 163:OS_CPU_C.c    **** ***************************************************************************************************
 164:OS_CPU_C.c    ****         SIGNAL(SIG_OVERFLOW0)
 165:OS_CPU_C.c    **** {
 341               	.LM30:
 342               	/* prologue: frame size=0 */
 343 00b2 1F92      		push __zero_reg__
 344 00b4 0F92      		push __tmp_reg__
 345 00b6 0FB6      		in __tmp_reg__,__SREG__
 346 00b8 0F92      		push __tmp_reg__
 347 00ba 1124      		clr __zero_reg__
 348 00bc 2F93      		push r18
 349 00be 3F93      		push r19
 350 00c0 4F93      		push r20
 351 00c2 5F93      		push r21
 352 00c4 6F93      		push r22
 353 00c6 7F93      		push r23
 354 00c8 8F93      		push r24
 355 00ca 9F93      		push r25
 356 00cc AF93      		push r26
 357 00ce BF93      		push r27
 358 00d0 EF93      		push r30
 359 00d2 FF93      		push r31
 360               	/* prologue end (size=17) */
 166:OS_CPU_C.c    ****  if(1==Alarm)
 362               	.LM31:
 363 00d4 8091 0000 		lds r24,Alarm
 364 00d8 8130      		cpi r24,lo8(1)
 365 00da 31F4      		brne .L29
 167:OS_CPU_C.c    ****  {
 168:OS_CPU_C.c    ****   PORTD &=~(PIND&0x01);
 367               	.LM32:
 368 00dc 90B3      		in r25,48-0x20
 369 00de 9170      		andi r25,lo8(1)
 370 00e0 9095      		com r25
 371 00e2 82B3      		in r24,50-0x20
 372 00e4 8923      		and r24,r25
 373 00e6 82BB      		out 50-0x20,r24
 374               	.L29:
 169:OS_CPU_C.c    ****  }
 170:OS_CPU_C.c    ****   
 171:OS_CPU_C.c    **** #if TICK_TIMER_SHARING >1 
 172:OS_CPU_C.c    ****     static uint8 TickSum = 0;
 173:OS_CPU_C.c    **** #endif
 174:OS_CPU_C.c    **** 	TCNT0+= 69;		//(256-CPU_OSC/1024/OS_TICKS_PER_SEC)	  
 376               	.LM33:
 377 00e8 82B7      		in r24,82-0x20
 378 00ea 8B5B      		subi r24,lo8(-(69))
 379 00ec 82BF      		out 82-0x20,r24
 175:OS_CPU_C.c    **** #if EN_USER_TICK_TIMER > 0 
 176:OS_CPU_C.c    **** 	            
 177:OS_CPU_C.c    **** #endif
 178:OS_CPU_C.c    **** #if TICK_TIMER_SHARING >1 
 179:OS_CPU_C.c    ****     TickSum = (TickSum + 1) % TICK_TIMER_SHARING;
 180:OS_CPU_C.c    ****     if (TickSum != 0)
 181:OS_CPU_C.c    ****     {
 182:OS_CPU_C.c    ****         return;
 183:OS_CPU_C.c    ****     }
 184:OS_CPU_C.c    **** #endif
 185:OS_CPU_C.c    **** 
 186:OS_CPU_C.c    **** #if EN_OS_INT_ENTER > 0 
 187:OS_CPU_C.c    ****     OS_INT_ENTER();                                     /* 中断开始处理                            
 381               	.LM34:
 382 00ee 8091 0000 		lds r24,OSIntNesting
 383 00f2 8F5F      		subi r24,lo8(-(1))
 384 00f4 8093 0000 		sts OSIntNesting,r24
 385               	/* #APP */
 386 00f8 7894      		sei
 188:OS_CPU_C.c    **** #endif
 189:OS_CPU_C.c    ****     
 190:OS_CPU_C.c    **** 
 191:OS_CPU_C.c    **** #if EN_TIMER_SHARING > 0
 192:OS_CPU_C.c    ****     OSTimeTick();                                       /* 调用系统时钟处理函数                    
 388               	.LM35:
 389               	/* #NOAPP */
 390 00fa 0E94 0000 		call OSTimeTick
 193:OS_CPU_C.c    **** #else
 194:OS_CPU_C.c    ****     OSIntSendSignal(TIME_ISR_TASK_ID);                  /* 唤醒ID为TIME_ISR_TASK_ID的任务          
 195:OS_CPU_C.c    **** #endif
 196:OS_CPU_C.c    ****     
 197:OS_CPU_C.c    ****     OSIntExit();                                        /* 中断结束处理                            
 392               	.LM36:
 393 00fe 0E94 0000 		call OSIntExit
 394               	/* epilogue: frame size=0 */
 395 0102 FF91      		pop r31
 396 0104 EF91      		pop r30
 397 0106 BF91      		pop r27
 398 0108 AF91      		pop r26
 399 010a 9F91      		pop r25
 400 010c 8F91      		pop r24
 401 010e 7F91      		pop r23
 402 0110 6F91      		pop r22
 403 0112 5F91      		pop r21
 404 0114 4F91      		pop r20
 405 0116 3F91      		pop r19
 406 0118 2F91      		pop r18
 407 011a 0F90      		pop __tmp_reg__
 408 011c 0FBE      		out __SREG__,__tmp_reg__
 409 011e 0F90      		pop __tmp_reg__
 410 0120 1F90      		pop __zero_reg__
 411 0122 1895      		reti
 412               	/* epilogue end (size=17) */
 413               	/* function __vector_9 size 58 (24) */
 415               	.Lscope4:
 416               		.comm OSTaskStackBottom,12,1
 421               		.text
 423               	Letext:
 424               	/* File "OS_CPU_C.c": code  149 = 0x0095 ( 108), prologues  19, epilogues  22 */
DEFINED SYMBOLS
                            *ABS*:00000000 OS_CPU_C.c
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:128    .data:00000000 pdata_end
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:135    .bss:00000000 Alarm
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:141    .data:00000002 TaskFuction
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:150    .text:00000000 OSIdle
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:168    .text:00000002 OSInitHook
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:182    .text:00000004 OSStart
                            *COM*:0000000c OSTaskStackBottom
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:308    .text:0000009e OSTickInit
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:339    .text:000000b2 __vector_9
C:\DOCUME~1\64564564\LOCALS~1\Temp/ccAnaaaa.s:423    .text:00000124 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__heap_start
task0
task1
task2
task3
Os_Enter_Sum
OSIntNesting
OSTimeTick
OSIntExit

⌨️ 快捷键说明

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