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

📄 ucos_ii.src

📁 uc/os在c167上的移植代码
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; C166/ST10 C compiler v6.0 r2            SN00082920-161 (c) 1998 TASKING, Inc.
; options: -Id:\c166\include -IC:\software\UCOS-II\C167\Tasking\test
;          -IC:\software\UCOS-II\C167\Tasking\source
;          -IC:\software\UCOS-II\C167\Tasking\Test -IC:\software\UCOS-II\SOURCE
;          -xmifp -Ml -P -FFSc -Ot -OB -zautobitastruct-4 -zautobita-0 -T256 -s
;          -g -zvolatile_union -A1 -O1
$DEBUG
$NOLOCALS
$EXTEND
$NOMOD166
$STDNAMES(reg.def)
$SEGMENTED
$CASE
$MODEL(LARGE)
$CHECKCPU16
	NAME	UCOS_II_
	ASSUME	DPP3:SYSTEM
	?SYMB	'c:\software\ucos-ii\source\ucos_ii.c',32,80,16
	?SYMB	'',1,82,0
	?SYMB	'80166',0,84,0
	?SYMB	'',0,81,0
	?SYMB	'void',00H,45,1
	?SYMB	'char',080000H,45,2
	?SYMB	'unsigned char',080000H,45,3
	?SYMB	'short',0100000H,45,4
	?SYMB	'unsigned short',0100000H,45,5
	?SYMB	'long',0200000H,45,6
	?SYMB	'unsigned long',0200000H,45,7
	?SYMB	'float',0200000H,45,10
	?SYMB	'double',0400000H,45,11
	?SYMB	'int',0100000H,45,16
	?SYMB	'unsigned int',0100000H,45,18
	?SYMB	'bit',010000H,7,256
	?SYMB	'c:\software\ucos-ii\source\ucos_ii.c',0,29,1
	?SYMB	'',0,86,1
; ucos_ii.c    1	/*
; ucos_ii.c    2	*********************************************************************************************************
; ucos_ii.c    3	*                                                uC/OS-II
; ucos_ii.c    4	*                                          The Real-Time Kernel
; ucos_ii.c    5	*
; ucos_ii.c    6	*                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
; ucos_ii.c    7	*                                           All Rights Reserved
; ucos_ii.c    8	*
; ucos_ii.c    9	*                                                  V2.00
; ucos_ii.c   10	*
; ucos_ii.c   11	* File : uCOS_II.C
; ucos_ii.c   12	* By   : Jean J. Labrosse
; ucos_ii.c   13	*********************************************************************************************************
; ucos_ii.c   14	*/
; ucos_ii.c   15	
; ucos_ii.c   16	#define  OS_GLOBALS                           /* Declare GLOBAL variables                              */
; ucos_ii.c   17	#include "includes.h"
	?SYMB	'c:\software\ucos-ii\source\includes.h',0,29,2
	?SYMB	'',0,86,2
	?SYMB	'd:\c166\include\stdio.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'd:\c166\include\stdarg.h',0,29,4
	?SYMB	'',0,86,4
	?SYMB	'',0,86,3
	?SYMB	'',01a0002H,38,258
	?SYMB	'_iobuf',0,40,259
	?SYMB	'_ptr',0,23,258
	?SYMB	'_cnt',32,23,16
	?SYMB	'_base',48,23,258
	?SYMB	'_flag',80,23,2
	?SYMB	'_file',88,23,2
	?SYMB	'_bufsiz',96,23,16
	?SYMB	'',112,18,0
	?SYMB	'FILE',259,13,260
	?SYMB	'',01a0001H,38,262
	?SYMB	'',01080106H,5,263
	?SYMB	'',16,47,264
	?SYMB	'',0,30,0
	?SYMB	'',0,49,0
	?SYMB	'va_list',263,13,265
	?SYMB	'size_t',18,13,266
	?SYMB	'fpos_t',7,13,267
	?SYMB	'',0,86,2
	?SYMB	'd:\c166\include\string.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'',0,86,2
	?SYMB	'd:\c166\include\ctype.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'',0,86,2
	?SYMB	'd:\c166\include\stdlib.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'T$1',0,40,268
	?SYMB	'quot',0,23,16
	?SYMB	'rem',16,23,16
	?SYMB	'',32,18,0
	?SYMB	'div_t',268,13,269
	?SYMB	'T$2',0,40,270
	?SYMB	'quot',0,23,6
	?SYMB	'rem',32,23,6
	?SYMB	'',64,18,0
	?SYMB	'ldiv_t',270,13,271
	?SYMB	'',0,86,2
	?SYMB	'd:\c166\include\reg164ci.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'',0,86,2
	?SYMB	'c:\software\ucos-ii\source\os_cpu.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'INT16U',5,13,272
	?SYMB	'',0,86,2
	?SYMB	'c:\software\ucos-ii\source\os_cfg.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'',0,86,2
	?SYMB	'c:\software\ucos-ii\source\ucos_ii.h',0,29,3
	?SYMB	'',0,86,3
	?SYMB	'INT8U',3,13,273
	?SYMB	'OS_STK',18,13,274
	?SYMB	'',01140111H,5,275
	?SYMB	'',16,47,276
	?SYMB	'',0,30,0
	?SYMB	'',1,49,0
	?SYMB	'T$3',0,40,277
	?SYMB	'OSEventPtr',0,23,262
	?SYMB	'OSEventTbl',32,23,275
	?SYMB	'OSEventCnt',48,23,272
	?SYMB	'OSEventType',64,23,273
	?SYMB	'OSEventGrp',72,23,273
	?SYMB	'',80,18,0
	?SYMB	'OS_EVENT',277,13,278
	?SYMB	'INT32U',7,13,279
UCOS_II_1_NB	SECTION	DATA WORD PUBLIC 'CNEAR'
	ASSUME	DPP2:UCOS_II_1_NB
UCOS_II_1_NB_ENTRY	LABEL	BYTE
_OSCtxSwCtr	LABEL	WORD
	DS	4
	PUBLIC	_OSCtxSwCtr
	?SYMB	'OSCtxSwCtr',_OSCtxSwCtr,22,279
_OSEventFreeList	LABEL	WORD
	DS	4
	PUBLIC	_OSEventFreeList
	?SYMB	'',01a0116H,38,281
	?SYMB	'OSEventFreeList',_OSEventFreeList,22,281
_OSEventTbl	LABEL	WORD
	DS	20
	PUBLIC	_OSEventTbl
	?SYMB	'',011b0116H,5,282
	?SYMB	'',16,47,283
	?SYMB	'',0,30,0
	?SYMB	'',1,49,0
	?SYMB	'OSEventTbl',_OSEventTbl,22,282
_OSIdleCtr	LABEL	WORD
	DS	4
	PUBLIC	_OSIdleCtr
	?SYMB	'OSIdleCtr',_OSIdleCtr,22,279
	?SYMB	'INT8S',2,13,284
_OSCPUUsage	LABEL	BYTE
	DS	1
	PUBLIC	_OSCPUUsage
	?SYMB	'OSCPUUsage',_OSCPUUsage,22,284
	EVEN
_OSIdleCtrMax	LABEL	WORD
	DS	4
	PUBLIC	_OSIdleCtrMax
	?SYMB	'OSIdleCtrMax',_OSIdleCtrMax,22,279
_OSIdleCtrRun	LABEL	WORD
	DS	4
	PUBLIC	_OSIdleCtrRun
	?SYMB	'OSIdleCtrRun',_OSIdleCtrRun,22,279
	?SYMB	'BOOLEAN',3,13,285
_OSStatRdy	LABEL	BYTE
	DS	1
	PUBLIC	_OSStatRdy
	?SYMB	'OSStatRdy',_OSStatRdy,22,285
_OSIntNesting	LABEL	BYTE
	DS	1
	PUBLIC	_OSIntNesting
	?SYMB	'OSIntNesting',_OSIntNesting,22,273
_OSLockNesting	LABEL	BYTE
	DS	1
	PUBLIC	_OSLockNesting
	?SYMB	'OSLockNesting',_OSLockNesting,22,273
_OSPrioCur	LABEL	BYTE
	DS	1
	PUBLIC	_OSPrioCur
	?SYMB	'OSPrioCur',_OSPrioCur,22,273
_OSPrioHighRdy	LABEL	BYTE
	DS	1
	PUBLIC	_OSPrioHighRdy
	?SYMB	'OSPrioHighRdy',_OSPrioHighRdy,22,273
_OSRdyGrp	LABEL	BYTE
	DS	1
	PUBLIC	_OSRdyGrp
	?SYMB	'OSRdyGrp',_OSRdyGrp,22,273
_OSRdyTbl	LABEL	BYTE
	DS	2
	PUBLIC	_OSRdyTbl
	?SYMB	'OSRdyTbl',_OSRdyTbl,22,275
_OSRunning	LABEL	BYTE
	DS	1
	PUBLIC	_OSRunning
	?SYMB	'OSRunning',_OSRunning,22,285
_OSTaskCtr	LABEL	BYTE
	DS	1
	PUBLIC	_OSTaskCtr
	?SYMB	'OSTaskCtr',_OSTaskCtr,22,273
	?SYMB	'',01a0112H,38,287
	?SYMB	'',01a0120H,38,290
	?SYMB	'os_tcb',0,40,288
	?SYMB	'OSTCBStkPtr',0,23,287
	?SYMB	'OSTCBNext',32,23,290
	?SYMB	'OSTCBPrev',64,23,290
	?SYMB	'OSTCBEventPtr',96,23,281
	?SYMB	'OSTCBMsg',128,23,262
	?SYMB	'OSTCBDly',160,23,272
	?SYMB	'OSTCBStat',176,23,273
	?SYMB	'OSTCBPrio',184,23,273
	?SYMB	'OSTCBX',192,23,273
	?SYMB	'OSTCBY',200,23,273
	?SYMB	'OSTCBBitX',208,23,273
	?SYMB	'OSTCBBitY',216,23,273
	?SYMB	'',224,18,0
	?SYMB	'OS_TCB',288,13,291
_OSTCBCur	LABEL	WORD
	DS	4
	PUBLIC	_OSTCBCur
	?SYMB	'',01a0123H,38,293
	?SYMB	'OSTCBCur',_OSTCBCur,22,293
_OSTCBFreeList	LABEL	WORD
	DS	4
	PUBLIC	_OSTCBFreeList
	?SYMB	'OSTCBFreeList',_OSTCBFreeList,22,293
_OSTCBHighRdy	LABEL	WORD
	DS	4
	PUBLIC	_OSTCBHighRdy
	?SYMB	'OSTCBHighRdy',_OSTCBHighRdy,22,293
_OSTCBList	LABEL	WORD
	DS	4
	PUBLIC	_OSTCBList
	?SYMB	'OSTCBList',_OSTCBList,22,293
_OSTCBPrioTbl	LABEL	WORD
	DS	52
	PUBLIC	_OSTCBPrioTbl
	?SYMB	'',01270125H,5,294
	?SYMB	'',16,47,295
	?SYMB	'',0,30,0
	?SYMB	'',12,49,0
	?SYMB	'OSTCBPrioTbl',_OSTCBPrioTbl,22,294
_OSTime	LABEL	WORD
	DS	4
	PUBLIC	_OSTime
	?SYMB	'OSTime',_OSTime,22,279
	?SYMB	'T$4',0,40,296
	?SYMB	'OSMsg',0,23,262
	?SYMB	'OSEventTbl',32,23,275
	?SYMB	'OSEventGrp',48,23,273
	?SYMB	'',64,18,0
	?SYMB	'OS_MBOX_DATA',296,13,297
	?SYMB	'T$5',0,40,298
	?SYMB	'OSMsg',0,23,262
	?SYMB	'OSNMsgs',32,23,272
	?SYMB	'OSQSize',48,23,272
	?SYMB	'OSEventTbl',64,23,275
	?SYMB	'OSEventGrp',80,23,273
	?SYMB	'',96,18,0
	?SYMB	'OS_Q_DATA',298,13,299
	?SYMB	'T$6',0,40,300
	?SYMB	'OSCnt',0,23,272
	?SYMB	'OSEventTbl',16,23,275
	?SYMB	'OSEventGrp',32,23,273
	?SYMB	'',48,18,0
	?SYMB	'OS_SEM_DATA',300,13,301
	?SYMB	'',0,86,2
	?SYMB	'',0,86,1
; ucos_ii.c   18	
; ucos_ii.c   19	
; ucos_ii.c   20	#define  OS_MASTER_FILE                       /* Prevent the following files from including includes.h */
; ucos_ii.c   21	#include "os_core.c"
	?SYMB	'c:\software\ucos-ii\source\os_core.c',0,29,2
	?SYMB	'',0,86,2
_OSIntExitY	LABEL	BYTE
	DS	1
	?SYMB	'OSIntExitY',_OSIntExitY,31,273
UCOS_II_1_NB	ENDS

UCOS_II_2_FB	SECTION	DATA WORD PUBLIC 'CFAR'
UCOS_II_2_FB_ENTRY	LABEL	BYTE
_OSTaskIdleStk	LABEL	WORD
	DS	1024
	?SYMB	'',012f0112H,5,302
	?SYMB	'',16,47,303
	?SYMB	'',0,30,0
	?SYMB	'',511,49,0
	?SYMB	'OSTaskIdleStk',_OSTaskIdleStk,31,302
_OSTaskStatStk	LABEL	WORD
	DS	1024
	?SYMB	'OSTaskStatStk',_OSTaskStatStk,31,302
_OSTCBTbl	LABEL	WORD
	DS	504
	?SYMB	'',01310123H,5,304
	?SYMB	'',16,47,305
	?SYMB	'',0,30,0
	?SYMB	'',17,49,0
	?SYMB	'OSTCBTbl',_OSTCBTbl,31,304
UCOS_II_2_FB	ENDS

UCOS_II_3_FC	SECTION	DATA WORD PUBLIC 'CFARROM'
_OSMapTbl	LABEL	BYTE
	DB	01h,02h,04h,08h,010h
	DB	020h,040h,080h
	PUBLIC	_OSMapTbl
	?SYMB	'',01330111H,5,306
	?SYMB	'',16,47,307
	?SYMB	'',0,30,0
	?SYMB	'',7,49,0
	?SYMB	'OSMapTbl',_OSMapTbl,22,306
_OSUnMapTbl	LABEL	BYTE
	DB	00h,00h,01h,00h,02h
	DB	00h,01h,00h,03h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h,04h,00h,01h,00h
	DB	02h,00h,01h,00h,03h
	DB	00h,01h,00h,02h,00h
	DB	01h,00h,05h,00h,01h
	DB	00h,02h,00h,01h,00h
	DB	03h,00h,01h,00h,02h
	DB	00h,01h,00h,04h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h,03h,00h,01h,00h
	DB	02h,00h,01h,00h,06h
	DB	00h,01h,00h,02h,00h
	DB	01h,00h,03h,00h,01h
	DB	00h,02h,00h,01h,00h
	DB	04h,00h,01h,00h,02h
	DB	00h,01h,00h,03h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h,05h,00h,01h,00h
	DB	02h,00h,01h,00h,03h
	DB	00h,01h,00h,02h,00h
	DB	01h,00h,04h,00h,01h
	DB	00h,02h,00h,01h,00h
	DB	03h,00h,01h,00h,02h
	DB	00h,01h,00h,07h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h,03h,00h,01h,00h
	DB	02h,00h,01h,00h,04h
	DB	00h,01h,00h,02h,00h
	DB	01h,00h,03h,00h,01h
	DB	00h,02h,00h,01h,00h
	DB	05h,00h,01h,00h,02h
	DB	00h,01h,00h,03h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h,04h,00h,01h,00h
	DB	02h,00h,01h,00h,03h
	DB	00h,01h,00h,02h,00h
	DB	01h,00h,06h,00h,01h
	DB	00h,02h,00h,01h,00h
	DB	03h,00h,01h,00h,02h
	DB	00h,01h,00h,04h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h,03h,00h,01h,00h
	DB	02h,00h,01h,00h,05h
	DB	00h,01h,00h,02h,00h
	DB	01h,00h,03h,00h,01h
	DB	00h,02h,00h,01h,00h
	DB	04h,00h,01h,00h,02h
	DB	00h,01h,00h,03h,00h
	DB	01h,00h,02h,00h,01h
	DB	00h
	PUBLIC	_OSUnMapTbl
	?SYMB	'',01350111H,5,308
	?SYMB	'',16,47,309
	?SYMB	'',0,30,0
	?SYMB	'',255,49,0
	?SYMB	'OSUnMapTbl',_OSUnMapTbl,22,308
UCOS_II_3_FC	ENDS

UCOS_II_4_PR	SECTION	CODE WORD PUBLIC 'CPROGRAM'
	?LINE	102
	PUBLIC	_OSEventTaskRdy
	?SYMB	'OSEventTaskRdy',_OSEventTaskRdy,37,1
	?SYMB	'',102,8,34
_OSEventTaskRdy	PROC	FAR
	?SYMB	'',03c0H,95,0
	MOV	[-R0],R9
	?SYMB	'',$,96,2
	MOV	[-R0],R8
	?SYMB	'',$,96,4
	MOV	[-R0],R7
	?SYMB	'',$,96,6
	MOV	[-R0],R6
	?SYMB	'',$,96,8
	SUB	R0,#02h
	?SYMB	'',$,96,10
; Locals:
; 
; CSEs:
;     ptcb = R8R9
;     y = offset 0
;     x = RL6
;     bitx = RL7
;     bity = RL1
;     pevent + 4 + y = R8R9
;     prio = RL6
;     pevent = R12R13
;     pevent + 9 = R2R3
;     ptcb + 22 = R12R13
;     msg = R14R15
;     msk = offset 14
; 
	?SYMB	'pevent',9,99,281
	?SYMB	'msg',2,99,262
	?SYMB	'msk',1,99,273
	?SYMB	'ptcb',3,98,293
	?SYMB	'x',6,98,273
	?SYMB	'y',8,98,273
	?SYMB	'bitx',5,98,273
	?SYMB	'bity',7,98,273
	?SYMB	'prio',4,98,273
	?SYMB	'R12R13',$,100,9
	?SYMB	'R14R15',$,100,2
	?SYMB	'4',$,101,1
	?LINE	111
	MOV	R2,R12
	MOV	R3,R13
	ADD	R2,#09h
	EXTP	R3,#01h
	MOVB	RL1,[R2]
	MOVBZ	R1,RL1
	EXTP	#PAG _OSUnMapTbl,#02h
	MOVB	RL4,[R1+#POF _OSUnMapTbl]
	NOP
	MOVB	[R0],RL4
	?SYMB	'-a',$,101,8
	?LINE	112
	MOVBZ	R5,RL4
	EXTP	#PAG _OSMapTbl,#02h
	MOVB	RL1,[R5+#POF _OSMapTbl]
	NOP
	?SYMB	'RL1',$,100,7
	?LINE	113
	MOV	R8,R12
	MOV	R9,R13
	ADD	R8,#04h
	MOVBZ	R12,RL4
	?SYMB	'',$,102,9
	ADD	R8,R12
	EXTP	R9,#01h
	MOVB	RL5,[R8]
	MOVBZ	R12,RL5
	EXTP	#PAG _OSUnMapTbl,#02h
	MOVB	RL6,[R12+#POF _OSUnMapTbl]
	NOP
	?SYMB	'RL6',$,100,6
	?LINE	114
	MOVBZ	R12,RL6
	EXTP	#PAG _OSMapTbl,#02h
	MOVB	RL7,[R12+#POF _OSMapTbl]
	NOP
	?SYMB	'RL7',$,100,5
	?LINE	115
	MOVBZ	R5,RL4
	SHL	R5,#03h
	ADDB	RL5,RL6
	MOVB	RL6,RL5
	?SYMB	'',$,102,6
	?SYMB	'RL6',$,100,4
	?LINE	116
	EXTP	R9,#01h
	MOVB	RL5,[R8]
	MOVB	RL4,RL7
	CPLB	RL4
	ANDB	RL5,RL4
	EXTP	R9,#01h
	MOVB	[R8],RL5
	CMPB	RL5,#00h
	JMPR	cc_NZ,_3
	?LINE	117
	EXTP	R3,#01h
	MOVB	RL4,[R2]
	MOVB	RL5,RL1
	CPLB	RL5
	ANDB	RL4,RL5
	EXTP	R3,#01h
	MOVB	[R2],RL4
	?LINE	118
_3:
	?LINE	119
	MOVBZ	R12,RL6
	SHL	R12,#02h
	MOV	R8,[R12+#DPP2:_OSTCBPrioTbl]
	MOV	R9,[R12+#DPP2:_OSTCBPrioTbl+2]
	?SYMB	'R8R9',$,100,3
	?LINE	120
	MOV	R12,#00h
	EXTP	R9,#02h
	MOV	[R8+#014H],R12
	NOP
	?LINE	121
	MOV	R13,#00h
	MOV	R6,#00h
	?SYMB	'',$,102,4
	EXTP	R9,#03h
	MOV	[R8+#0CH],R13
	MOV	[R8+#0EH],R6
	NOP
	?LINE	123
	EXTP	R9,#03h
	MOV	[R8+#010H],R14
	MOV	[R8+#012H],R15
	NOP
	?LINE	127
	MOV	R12,R8
	MOV	R13,R9
	ADD	R12,#016h
	EXTP	R13,#01h
	MOVB	RL6,[R12]
	MOVB	RL2,[R0+#0EH]
	CPLB	RL2
	ANDB	RL6,RL2
	EXTP	R13,#02h
	MOVB	[R12],RL6
	?LINE	128
	MOVB	RL6,[R12]
	JMPR	cc_NZ,_4
	?LINE	129
	ORB	_OSRdyGrp,RL1
	?LINE	130
	MOV	R12,#DPP2:_OSRdyTbl
	MOVB	RL6,[R0]
	MOVBZ	R13,RL6
	ADD	R12,R13
	MOVB	RL1,[R12]
	?SYMB	'',$,102,7
	ORB	RL1,RL7
	MOVB	[R12],RL1
	?LINE	131
_4:
	?SYMB	'',$,102,2
	?SYMB	'',$,102,5
	?SYMB	'',$,102,3
	?LINE	132
	ADD	R0,#02h
	?SYMB	'',$,96,8
	MOV	R6,[R0+]
	?SYMB	'',$,96,6
	MOV	R7,[R0+]
	?SYMB	'',$,96,4
	MOV	R8,[R0+]
	?SYMB	'',$,96,2
	MOV	R9,[R0+]
	?SYMB	'',$,96,0
	MOV	R3,[R0+]
	MOV	R2,[R0+]
	ATOMIC	#03h
	PUSH	R3
	PUSH	R2
	RETS
_OSEventTaskRdy	ENDP
	?SYMB	'',$,17,132
	?LINE	151
	PUBLIC	_OSEventTaskWait
	?SYMB	'OSEventTaskWait',_OSEventTaskWait,37,1
	?SYMB	'',151,8,34
_OSEventTaskWait	PROC	FAR
	?SYMB	'',0300H,95,0
	MOV	[-R0],R9
	?SYMB	'',$,96,2
	MOV	[-R0],R8
	?SYMB	'',$,96,4
; Locals:
; 
; CSEs:
;     pevent = R12R13
;     OSTCBCur + 25 = R14R15
;     OSTCBCur + 26 = R8R9
; 
	?SYMB	'pevent',1,99,281
	?SYMB	'R12R13',$,100,1
	?LINE	152
	MOV	R14,_OSTCBCur
	MOV	R15,(_OSTCBCur+2)
	EXTP	R15,#03h
	MOV	[R14+#0CH],R12
	MOV	[R14+#0EH],R13
	NOP
	?LINE	153
	MOV	R14,_OSTCBCur
	MOV	R15,(_OSTCBCur+2)
	ADD	R14,#019h
	EXTP	R15,#01h
	MOVB	RL1,[R14]
	MOVBZ	R8,RL1
	MOV	R9,#DPP2:_OSRdyTbl
	ADD	R9,R8
	MOV	R1,R9
	MOV	R8,_OSTCBCur
	MOV	R9,(_OSTCBCur+2)
	ADD	R8,#01Ah
	EXTP	R9,#01h
	MOVB	RL2,[R8]
	CPLB	RL2
	MOVB	RL3,[R1]
	ANDB	RL3,RL2
	MOVB	[R1],RL3
	CMPB	RL3,#00h
	JMPR	cc_NZ,_5
	?LINE	154
	MOV	R1,_OSTCBCur
	MOV	R2,(_OSTCBCur+2)
	EXTP	R2,#02h
	MOVB	RL3,[R1+#01BH]
	NOP
	CPLB	RL3
	ANDB	_OSRdyGrp,RL3
	?LINE	155
_5:
	?LINE	156
	EXTP	R15,#01h
	MOVB	RL1,[R14]
	MOVBZ	R14,RL1
	MOV	R15,R12
	MOV	R1,R13
	ADD	R15,#04h
	ADD	R15,R14
	EXTP	R1,#01h
	MOVB	RL2,[R15]
	EXTP	R9,#01h
	MOVB	RL3,[R8]
	ORB	RL2,RL3
	EXTP	R1,#01h
	MOVB	[R15],RL2
	?LINE	157
	ADD	R12,#09h
	?SYMB	'',$,102,1
	EXTP	R13,#01h
	MOVB	RL1,[R12]
	MOV	R14,_OSTCBCur
	MOV	R15,(_OSTCBCur+2)
	EXTP	R15,#02h
	MOVB	RL2,[R14+#01BH]
	NOP
	ORB	RL1,RL2
	EXTP	R13,#01h
	MOVB	[R12],RL1
	?LINE	158
	MOV	R8,[R0+]
	?SYMB	'',$,96,2
	MOV	R9,[R0+]
	?SYMB	'',$,96,0
	MOV	R3,[R0+]
	MOV	R2,[R0+]
	ATOMIC	#03h
	PUSH	R3
	PUSH	R2
	RETS
_OSEventTaskWait	ENDP
	?SYMB	'',$,17,158
	?LINE	177
	PUBLIC	_OSEventTO
	?SYMB	'OSEventTO',_OSEventTO,37,1
	?SYMB	'',177,8,34
_OSEventTO	PROC	FAR
	?SYMB	'',00H,95,0
; Locals:
; 
; CSEs:
;     pevent = R12R13
; 
	?SYMB	'pevent',1,99,281
	?SYMB	'R12R13',$,100,1
	?LINE	178
	MOV	R14,_OSTCBCur
	MOV	R15,(_OSTCBCur+2)
	EXTP	R15,#02h
	MOVB	RL1,[R14+#019H]
	NOP
	MOVBZ	R1,RL1
	MOV	R2,R12
	MOV	R3,R13
	ADD	R2,#04h
	ADD	R2,R1
	EXTP	R3,#01h
	MOVB	RL1,[R2]
	EXTP	R15,#02h
	MOVB	RL4,[R14+#01AH]
	NOP
	CPLB	RL4
	ANDB	RL1,RL4
	EXTP	R3,#01h
	MOVB	[R2],RL1
	CMPB	RL1,#00h
	JMPR	cc_NZ,_6
	?LINE	179
	ADD	R12,#09h
	?SYMB	'',$,102,1
	EXTP	R13,#01h
	MOVB	RL1,[R12]
	MOV	R14,_OSTCBCur
	MOV	R15,(_OSTCBCur+2)
	EXTP	R15,#02h
	MOVB	RL2,[R14+#01BH]
	NOP
	CPLB	RL2
	ANDB	RL1,RL2
	EXTP	R13,#01h
	MOVB	[R12],RL1
	?LINE	180
_6:
	?LINE	181
	MOVB	RL1,#00h
	MOV	R12,_OSTCBCur
	MOV	R13,(_OSTCBCur+2)
	EXTP	R13,#02h
	MOVB	[R12+#016H],RL1
	NOP
	?LINE	182
	MOV	R12,#00h
	MOV	R13,#00h
	MOV	R14,_OSTCBCur
	MOV	R15,(_OSTCBCur+2)
	EXTP	R15,#03h
	MOV	[R14+#0CH],R12
	MOV	[R14+#0EH],R13
	NOP
	?LINE	183
	MOV	R3,[R0+]
	MOV	R2,[R0+]
	ATOMIC	#03h
	PUSH	R3
	PUSH	R2
	RETS
_OSEventTO	ENDP
	?SYMB	'',$,17,183
	?LINE	201
	PUBLIC	_OSEventWaitListInit
	?SYMB	'OSEventWaitListInit',_OSEventWaitListInit,37,1
	?SYMB	'',201,8,34
_OSEventWaitListInit	PROC	FAR
	?SYMB	'',040H,95,0
	MOV	[-R0],R6
	?SYMB	'',$,96,2
; Locals:
; 
; CSEs:
;     i = RL6
;     pevent = R12R13
; 
	?SYMB	'pevent',2,99,281
	?SYMB	'i',1,98,273
	?SYMB	'R12R13',$,100,2
	?LINE	205
	MOVB	RL1,#00h
	EXTP	R13,#02h
	MOVB	[R12+#09H],RL1

⌨️ 快捷键说明

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