📄 os_flag.txt
字号:
00037e f009f009 AND r0,r9,#0x80 ;594
000382 b118 CBZ r0,|L1.908|
000384 f029f029 BIC r9,r9,#0x80 ;596
000388 2601 MOVS r6,#1 ;597
00038a e000 B |L1.910|
|L1.908|
00038c 2600 MOVS r6,#0 ;599
|L1.910|
00038e f7fff7ff BL OS_CPU_SR_Save
000392 9001 STR r0,[sp,#4] ;602
000394 f8dff8df LDR r11,|L1.1212|
000398 f04ff04f MOV r10,#0 ;603
00039c f1b9f1b9 CMP r9,#0 ;603
0003a0 d04b BEQ |L1.1082|
0003a2 f1b9f1b9 CMP r9,#1 ;603
0003a6 d069 BEQ |L1.1148|
0003a8 f1b9f1b9 CMP r9,#2 ;603
0003ac d018 BEQ |L1.992|
0003ae f1b9f1b9 CMP r9,#3 ;603
0003b2 d179 BNE |L1.1192|
0003b4 8920 LDRH r0,[r4,#8] ;621
0003b6 ea00ea00 AND r8,r0,r7 ;621
0003ba f1b8f1b8 CMP r8,#0 ;622
0003be d030 BEQ |L1.1058|
0003c0 2e01 CMP r6,#1 ;623
0003c2 d102 BNE |L1.970|
0003c4 ea20ea20 BIC r0,r0,r8 ;624
0003c8 8120 STRH r0,[r4,#8] ;624
|L1.970|
0003ca f8dbf8db LDR r0,[r11,#0] ;626 ; OSTCBCur
0003ce f8a0f8a0 STRH r8,[r0,#0x2c] ;626
0003d2 9801 LDR r0,[sp,#4] ;627
0003d4 f7fff7ff BL OS_CPU_SR_Restore
0003d8 f885f885 STRB r10,[r5,#0] ;628
0003dc 4640 MOV r0,r8 ;629
0003de e7bd B |L1.860|
|L1.992|
0003e0 8920 LDRH r0,[r4,#8] ;605
0003e2 ea00ea00 AND r8,r0,r7 ;605
0003e6 45b8 CMP r8,r7 ;606
0003e8 d10f BNE |L1.1034|
0003ea 2e01 CMP r6,#1 ;607
0003ec d102 BNE |L1.1012|
0003ee ea20ea20 BIC r0,r0,r8 ;608
0003f2 8120 STRH r0,[r4,#8] ;608
|L1.1012|
0003f4 f8dbf8db LDR r0,[r11,#0] ;610 ; OSTCBCur
0003f8 f8a0f8a0 STRH r8,[r0,#0x2c] ;610
0003fc 9801 LDR r0,[sp,#4] ;611
0003fe f7fff7ff BL OS_CPU_SR_Restore
000402 f885f885 STRB r10,[r5,#0] ;612
000406 4640 MOV r0,r8 ;613
000408 e7a8 B |L1.860|
|L1.1034|
00040a 9b0a LDR r3,[sp,#0x28] ;615
00040c 9300 STR r3,[sp,#0] ;615
00040e 464b MOV r3,r9 ;615
000410 463a MOV r2,r7 ;615
000412 a902 ADD r1,sp,#8 ;615
000414 4620 MOV r0,r4 ;615
000416 f7fff7ff BL OS_FlagBlock
00041a 9801 LDR r0,[sp,#4] ;616
00041c f7fff7ff BL OS_CPU_SR_Restore
000420 e05b B |L1.1242|
|L1.1058|
000422 9b0a LDR r3,[sp,#0x28] ;631
000424 9300 STR r3,[sp,#0] ;631
000426 464b MOV r3,r9 ;631
000428 463a MOV r2,r7 ;631
00042a a902 ADD r1,sp,#8 ;631
00042c 4620 MOV r0,r4 ;631
00042e f7fff7ff BL OS_FlagBlock
000432 9801 LDR r0,[sp,#4] ;632
000434 f7fff7ff BL OS_CPU_SR_Restore
000438 e04f B |L1.1242|
|L1.1082|
00043a 8920 LDRH r0,[r4,#8] ;638
00043c ea27ea27 BIC r8,r7,r0 ;638
000440 45b8 CMP r8,r7 ;639
000442 d10f BNE |L1.1124|
000444 2e01 CMP r6,#1 ;640
000446 d102 BNE |L1.1102|
000448 ea40ea40 ORR r0,r0,r8 ;641
00044c 8120 STRH r0,[r4,#8] ;641
|L1.1102|
00044e f8dbf8db LDR r0,[r11,#0] ;643 ; OSTCBCur
000452 f8a0f8a0 STRH r8,[r0,#0x2c] ;643
000456 9801 LDR r0,[sp,#4] ;644
000458 f7fff7ff BL OS_CPU_SR_Restore
00045c f885f885 STRB r10,[r5,#0] ;645
000460 4640 MOV r0,r8 ;646
000462 e77b B |L1.860|
|L1.1124|
000464 9b0a LDR r3,[sp,#0x28] ;648
000466 9300 STR r3,[sp,#0] ;648
000468 464b MOV r3,r9 ;648
00046a 463a MOV r2,r7 ;648
00046c a902 ADD r1,sp,#8 ;648
00046e 4620 MOV r0,r4 ;648
000470 f7fff7ff BL OS_FlagBlock
000474 9801 LDR r0,[sp,#4] ;649
000476 f7fff7ff BL OS_CPU_SR_Restore
00047a e02e B |L1.1242|
|L1.1148|
00047c 8920 LDRH r0,[r4,#8] ;654
00047e ea27ea27 BIC r8,r7,r0 ;654
000482 f1b8f1b8 CMP r8,#0 ;655
000486 d01d BEQ |L1.1220|
000488 2e01 CMP r6,#1 ;656
00048a d102 BNE |L1.1170|
00048c ea40ea40 ORR r0,r0,r8 ;657
000490 8120 STRH r0,[r4,#8] ;657
|L1.1170|
000492 f8dbf8db LDR r0,[r11,#0] ;659 ; OSTCBCur
000496 f8a0f8a0 STRH r8,[r0,#0x2c] ;659
00049a 9801 LDR r0,[sp,#4] ;660
00049c f7fff7ff BL OS_CPU_SR_Restore
0004a0 f885f885 STRB r10,[r5,#0] ;661
0004a4 4640 MOV r0,r8 ;662
0004a6 e759 B |L1.860|
|L1.1192|
0004a8 e036 B |L1.1304|
0004aa 0000 DCW 0x0000
|L1.1196|
0004ac 00000000 DCD OSIntNesting
|L1.1200|
0004b0 00000000 DCD OSFlagFreeList
|L1.1204|
0004b4 00000000 DCD OSRdyGrp
|L1.1208|
0004b8 00000000 DCD OSRdyTbl
|L1.1212|
0004bc 00000000 DCD OSTCBCur
|L1.1216|
0004c0 00000000 DCD OSLockNesting
|L1.1220|
0004c4 9b0a LDR r3,[sp,#0x28] ;664
0004c6 9300 STR r3,[sp,#0] ;664
0004c8 464b MOV r3,r9 ;664
0004ca 463a MOV r2,r7 ;664
0004cc a902 ADD r1,sp,#8 ;664
0004ce 4620 MOV r0,r4 ;664
0004d0 f7fff7ff BL OS_FlagBlock
0004d4 9801 LDR r0,[sp,#4] ;665
0004d6 f7fff7ff BL OS_CPU_SR_Restore
|L1.1242|
0004da f7fff7ff BL OS_Sched
0004de f7fff7ff BL OS_CPU_SR_Save
0004e2 4607 MOV r7,r0 ;678
0004e4 f8dbf8db LDR r0,[r11,#0] ;679 ; OSTCBCur
0004e8 f890f890 LDRB r8,[r0,#0x31] ;679
0004ec f1b8f1b8 CMP r8,#0 ;679
0004f0 d01c BEQ |L1.1324|
0004f2 f880f880 STRB r10,[r0,#0x31] ;681
0004f6 a802 ADD r0,sp,#8 ;682
0004f8 f7fff7ff BL OS_FlagUnlink
0004fc f8dbf8db LDR r0,[r11,#0] ;683 ; OSTCBCur
000500 f880f880 STRB r10,[r0,#0x30] ;683
000504 4638 MOV r0,r7 ;684
000506 f7fff7ff BL OS_CPU_SR_Restore
00050a 2000 MOVS r0,#0 ;685
00050c f1b8f1b8 CMP r8,#2 ;686
000510 d109 BNE |L1.1318|
000512 210e MOVS r1,#0xe ;688
000514 7029 STRB r1,[r5,#0] ;688
000516 e721 B |L1.860|
|L1.1304|
000518 9801 LDR r0,[sp,#4] ;671
00051a f7fff7ff BL OS_CPU_SR_Restore
00051e 2000 MOVS r0,#0 ;672
000520 216f MOVS r1,#0x6f ;673
000522 7029 STRB r1,[r5,#0] ;673
000524 e71a B |L1.860|
|L1.1318|
000526 210a MOVS r1,#0xa ;693
000528 7029 STRB r1,[r5,#0] ;693
00052a e717 B |L1.860|
|L1.1324|
00052c f8b0f8b0 LDRH r8,[r0,#0x2c] ;698
000530 2e01 CMP r6,#1 ;699
000532 d114 BNE |L1.1374|
000534 f1b9f1b9 CMP r9,#0 ;700
000538 d00d BEQ |L1.1366|
00053a f1b9f1b9 CMP r9,#1 ;700
00053e d00a BEQ |L1.1366|
000540 f1b9f1b9 CMP r9,#2 ;700
000544 d002 BEQ |L1.1356|
000546 f1b9f1b9 CMP r9,#3 ;700
00054a d10f BNE |L1.1388|
|L1.1356|
00054c 8920 LDRH r0,[r4,#8] ;703
00054e ea20ea20 BIC r0,r0,r8 ;703
000552 8120 STRH r0,[r4,#8] ;703
000554 e003 B |L1.1374|
|L1.1366|
000556 8920 LDRH r0,[r4,#8] ;709
000558 ea40ea40 ORR r0,r0,r8 ;709
00055c 8120 STRH r0,[r4,#8] ;709
|L1.1374|
00055e 4638 MOV r0,r7 ;718
000560 f7fff7ff BL OS_CPU_SR_Restore
000564 f885f885 STRB r10,[r5,#0] ;719
000568 4640 MOV r0,r8 ;720
00056a e6f7 B |L1.860|
|L1.1388|
00056c 4638 MOV r0,r7 ;713
00056e f7fff7ff BL OS_CPU_SR_Restore
000572 206f MOVS r0,#0x6f ;714
000574 7028 STRB r0,[r5,#0] ;714
000576 2000 MOVS r0,#0 ;715
000578 e6f0 B |L1.860|
;;;722 /*$PAGE*/
ENDP
OSFlagPendGetFlagsRdy PROC
;;;738 OS_FLAGS OSFlagPendGetFlagsRdy (void)
;;;739 {
00057a b510 PUSH {r4,lr}
;;;740 OS_FLAGS flags;
;;;741 #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;;;742 OS_CPU_SR cpu_sr = 0;
;;;743 #endif
;;;744
;;;745
;;;746
;;;747 OS_ENTER_CRITICAL();
00057c f7fff7ff BL OS_CPU_SR_Save
;;;748 flags = OSTCBCur->OSTCBFlagsRdy;
000580 4955 LDR r1,|L1.1752|
000582 6809 LDR r1,[r1,#0] ; OSTCBCur
000584 8d8c LDRH r4,[r1,#0x2c]
;;;749 OS_EXIT_CRITICAL();
000586 f7fff7ff BL OS_CPU_SR_Restore
;;;750 return (flags);
00058a 4620 MOV r0,r4
;;;751 }
00058c bd10 POP {r4,pc}
;;;752
ENDP
OSFlagPost PROC
;;;795 OS_FLAGS OSFlagPost (OS_FLAG_GRP *pgrp, OS_FLAGS flags, INT8U opt, INT8U *perr)
;;;796 {
00058e e92de92d
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -