📄 app.lis
字号:
01FC .dbline 220
01FC ; INT8U err;
01FC ; p_arg = p_arg;
01FC 08C0 xjmp L17
01FE L16:
01FE .dbline 223
01FE .dbline 224
01FE 04E0 ldi R16,4
0200 18D0 xcall _LED_Toggle
0202 .dbline 228
0202 04E0 ldi R16,4
0204 16D0 xcall _LED_Toggle
0206 .dbline 229
0206 01E0 ldi R16,1
0208 10E0 ldi R17,0
020A 0E940000 xcall _OSTimeDly
020E .dbline 230
020E L17:
020E .dbline 223
020E F7CF xjmp L16
0210 X3:
0210 .dbline -2
0210 L15:
0210 0E940000 xcall pop_gset1
0214 .dbline 0 ; func end
0214 0895 ret
0216 .dbsym l err 1 c
0216 .dbsym r p_arg 20 pV
0216 .dbend
0216 .dbfunc s AppIOInit _AppIOInit fV
.even
0216 _AppIOInit:
0216 .dbline -1
0216 .dbline 240
0216 ;
0216 ;
0216 ; while (TRUE) {
0216 ; LED_Toggle(4);
0216 ;
0216 ; //OSSemPend(testsem1,0,&err);
0216 ; //OSSemPost( testsem );
0216 ; LED_Toggle(4);
0216 ; OSTimeDly(OS_TICKS_PER_SEC / 50); //2
0216 ; }
0216 ; }
0216 ;
0216 ; /*
0216 ; *********************************************************************************************************
0216 ; * SETUP THE I/Os
0216 ; *********************************************************************************************************
0216 ; */
0216 ;
0216 ; static void AppIOInit (void)
0216 ; {
0216 .dbline 241
0216 ; DDRD = 0xFF; /* All PORTD pins are outputs */
0216 8FEF ldi R24,255
0218 81BB out 0x11,R24
021A .dbline 242
021A ; PORTD = 0xFF;
021A 82BB out 0x12,R24
021C .dbline -2
021C L19:
021C .dbline 0 ; func end
021C 0895 ret
021E .dbend
021E .dbfunc e OSTickISR_Init _OSTickISR_Init fV
.even
021E _OSTickISR_Init::
021E .dbline -1
021E .dbline 252
021E ; }
021E ;
021E ; /*
021E ; *********************************************************************************************************
021E ; * SETUP THE TICK RATE
021E ; *********************************************************************************************************
021E ; */
021E ;
021E ; void OSTickISR_Init (void)
021E ; {
021E .dbline 253
021E ; TCCR0 = 0x07; /* Set TIMER0 prescaler to CLK/1024 */
021E 87E0 ldi R24,7
0220 83BF out 0x33,R24
0222 .dbline 254
0222 ; TIMSK = 0x01; /* Enable TIMER0 overflow interrupt */
0222 81E0 ldi R24,1
0224 87BF out 0x37,R24
0226 .dbline -2
0226 L20:
0226 .dbline 0 ; func end
0226 0895 ret
0228 .dbend
0228 .dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
.even
0228 _OSTickISR_Handler::
0228 .dbline -1
0228 .dbline 265
0228 ; }
0228 ;
0228 ;
0228 ; /*
0228 ; *********************************************************************************************************
0228 ; * SETUP THE TICK RATE
0228 ; *********************************************************************************************************
0228 ; */
0228 ;
0228 ; void OSTickISR_Handler (void)
0228 ; {
0228 .dbline 266
0228 ; TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
0228 89EB ldi R24,185
022A 82BF out 0x32,R24
022C .dbline 267
022C ; OSTimeTick();
022C 0E940000 xcall _OSTimeTick
0230 .dbline -2
0230 L21:
0230 .dbline 0 ; func end
0230 0895 ret
0232 .dbend
0232 .dbfunc s LED_Toggle _LED_Toggle fV
0232 ; cpu_sr -> R20
0232 ; led -> R22
.even
0232 _LED_Toggle:
0232 0E940000 xcall push_gset2
0236 602F mov R22,R16
0238 .dbline -1
0238 .dbline 277
0238 ; }
0238 ;
0238 ; /*
0238 ; *********************************************************************************************************
0238 ; * TOGGLE LED
0238 ; *********************************************************************************************************
0238 ; */
0238 ;
0238 ; static void LED_Toggle (INT8U led)
0238 ; {
0238 .dbline 283
0238 ; #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
0238 ; OS_CPU_SR cpu_sr;
0238 ; #endif
0238 ;
0238 ;
0238 ; OS_ENTER_CRITICAL();
0238 0E940000 xcall _OS_CPU_SR_Save
023C 402F mov R20,R16
023E .dbline 284
023E 7727 clr R23
0240 6130 cpi R22,1
0242 E0E0 ldi R30,0
0244 7E07 cpc R23,R30
0246 69F0 breq L26
0248 6230 cpi R22,2
024A E0E0 ldi R30,0
024C 7E07 cpc R23,R30
024E 71F0 breq L27
0250 6330 cpi R22,3
0252 E0E0 ldi R30,0
0254 7E07 cpc R23,R30
0256 79F0 breq L28
0258 6430 cpi R22,4
025A E0E0 ldi R30,0
025C 7E07 cpc R23,R30
025E 81F0 breq L29
0260 13C0 xjmp L23
0262 X4:
0262 .dbline 284
0262 ; switch (led) {
0262 L26:
0262 .dbline 286
0262 ; case 1:
0262 ; PORTD ^= 0x01;
0262 81E0 ldi R24,1
0264 22B2 in R2,0x12
0266 2826 eor R2,R24
0268 22BA out 0x12,R2
026A .dbline 287
026A ; break;
026A 0EC0 xjmp L24
026C L27:
026C .dbline 290
026C ;
026C ; case 2:
026C ; PORTD ^= 0x02;
026C 82E0 ldi R24,2
026E 22B2 in R2,0x12
0270 2826 eor R2,R24
0272 22BA out 0x12,R2
0274 .dbline 291
0274 ; break;
0274 09C0 xjmp L24
0276 L28:
0276 .dbline 294
0276 ;
0276 ; case 3:
0276 ; PORTD ^= 0x04;
0276 84E0 ldi R24,4
0278 22B2 in R2,0x12
027A 2826 eor R2,R24
027C 22BA out 0x12,R2
027E .dbline 295
027E ; break;
027E 04C0 xjmp L24
0280 L29:
0280 .dbline 298
0280 ;
0280 ; case 4:
0280 ; PORTD ^= 0x08;
0280 88E0 ldi R24,8
0282 22B2 in R2,0x12
0284 2826 eor R2,R24
0286 22BA out 0x12,R2
0288 .dbline 299
0288 ; break;
0288 L23:
0288 L24:
0288 .dbline 301
0288 ; }
0288 ; OS_EXIT_CRITICAL();
0288 042F mov R16,R20
028A 0E940000 xcall _OS_CPU_SR_Restore
028E .dbline -2
028E L22:
028E 0E940000 xcall pop_gset2
0292 .dbline 0 ; func end
0292 0895 ret
0294 .dbsym r cpu_sr 20 c
0294 .dbsym r led 22 c
0294 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\ypt050912\XIAZAI\xinzai\UCOSAVR128\app.c
0000 _testsem1::
0000 .blkb 2
0002 .dbstruct 0 8 os_event
0002 .dbfield 0 OSEventType c
0002 .dbfield 1 OSEventPtr pV
0002 .dbfield 3 OSEventCnt i
0002 .dbfield 5 OSEventGrp c
0002 .dbfield 6 OSEventTbl A[2:2]c
0002 .dbend
0002 .dbsym e testsem1 _testsem1 pS[os_event]
0002 _testsem::
0002 .blkb 2
0004 .dbsym e testsem _testsem pS[os_event]
0004 _AppTask3Stk::
0004 .blkb 256
0104 .dbsym e AppTask3Stk _AppTask3Stk A[256:256]c
0104 _AppTask2Stk::
0104 .blkb 256
0204 .dbsym e AppTask2Stk _AppTask2Stk A[256:256]c
0204 _AppTask1Stk::
0204 .blkb 256
0304 .dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
0304 _AppTaskStartStk::
0304 .blkb 256
0404 .dbsym e AppTaskStartStk _AppTaskStartStk A[256:256]c
.area func_lit
0000 D700 PL_AppTask2: .word `_AppTask2
0002 B300 PL_AppTask1: .word `_AppTask1
0004 FB00 PL_AppTask3: .word `_AppTask3
0006 6400 PL_AppTaskStart: .word `_AppTaskStart
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -