?? rd_usecooperatingminios.lis
字號:
.module RD_UseCooperatingMiniOs.c
.area text(rom, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseCooperatingMiniOs.c
.area data(ram, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseCooperatingMiniOs.c
0000 _g_cCOSPROCCounter::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseCooperatingMiniOs.c
.area text(rom, con, rel)
0000 .dbfile O:\2007全國電子設計大賽\鍵盤顯示模塊\RD_UseCooperatingMiniOs.c
0000 .dbfunc e NULL_PROC _NULL_PROC fc
.even
0000 _NULL_PROC::
0000 .dbline -1
0000 .dbline 88
0000 ; /***********************************************************
0000 ; * 函數庫說明:合作調度器基本函數庫 *
0000 ; * 版本: v1.00 *
0000 ; * 作者: 王卓然 *
0000 ; * 創建日期: 2006年8月28日 *
0000 ; * -------------------------------------------------------- *
0000 ; * [支 持 庫] *
0000 ; * 支持庫名稱:RD_UseCooperatingMiniOs.h *
0000 ; * 需要版本: ----- *
0000 ; * 支持庫說明:合作調度器基本聲明庫 *
0000 ; * *
0000 ; * 支持庫名稱:RD_MacroAndConst.h *
0000 ; * 需要版本: v0.04 &abv *
0000 ; * 支持庫說明:系統常用宏定義庫 *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本更新] *
0000 ; * -------------------------------------------------------- *
0000 ; * [版本歷史] *
0000 ; * -------------------------------------------------------- *
0000 ; * [使用說明] *
0000 ; * 1、在系統初始化的時候調用函數CmOSInit()來初始 *
0000 ; * 化消息對系統;同時通過定義宏 *
0000 ; * COS_REGISTER_PROC_FUNCTION來說明靜態進程函 *
0000 ; * 數的消息處理函數和動作函數(使用函數指針)。 *
0000 ; * 每增加一個靜態進程,要更新一次進程計數器 *
0000 ; * COS_Proc_Counter,保證每一個進程都能被有效 *
0000 ; * 的尋址。 *
0000 ; * 7、用戶可以通過宏COS_PROCESS_COUNT來定義最大的 *
0000 ; * 進程PCB數量。這個數值直接影響系統允許的靜態 *
0000 ; * 進程的數量,并要占用一定的空間。這個數目的 *
0000 ; * 最小值是1,因為默認有一個系統默認消息處理 *
0000 ; * 進程。 *
0000 ; * 8、用戶需要COS_REGISTER_MSG_FUNCTION宏來說明 *
0000 ; * 系統進程的初始化函數,通過這個初始化函數告 *
0000 ; * 訴消息系統,一共有多少靜態進程,并且說明這 *
0000 ; * 些靜態進程的相關函數指針是什么。 *
0000 ; ***********************************************************/
0000 ;
0000 ; /********************
0000 ; * 頭 文 件 配 置 區 *
0000 ; ********************/
0000 ; # include "RD_MacroAndConst.h"
0000 ; # include "RD_UseCooperatingMiniOs.h"
0000 ;
0000 ; /********************
0000 ; * 系 統 宏 定 義 *
0000 ; ********************/
0000 ;
0000 ; /*------------------*
0000 ; * 常 數 宏 定 義 *
0000 ; *------------------*/
0000 ; #ifndef COS_PROCESS_COUNT
0000 ; //# define COS_PROCESS_COUNT 8
0000 ; #error Need for COS_PROCESS_COUNT!
0000 ; #endif
0000 ;
0000 ; /*------------------*
0000 ; * 動 作 宏 定 義 *
0000 ; *------------------*/
0000 ; #ifndef COS_REGISTER_PROC_FUNCTION
0000 ; # define COS_REGISTER_PROC_FUNCTION
0000 ; #endif
0000 ;
0000 ; /********************
0000 ; * 結構體宏定義 *
0000 ; ********************/
0000 ;
0000 ; /********************
0000 ; * 函 數 聲 明 區 *
0000 ; ********************/
0000 ; BOOL NULL_PROC(void);
0000 ; void CMOS_INIT(void);
0000 ; void Process_Task(void);
0000 ;
0000 ; /********************
0000 ; * 全局變量聲明區 *
0000 ; ********************/
0000 ; volatile PROCESS ProcPCB[COS_PROCESS_COUNT+1];
0000 ; uint8 g_cCOSPROCCounter = 0;
0000 ;
0000 ; /***********************************************************
0000 ; * 函數說明:空函數 *
0000 ; * 輸入: 無 *
0000 ; * 輸出: 無 *
0000 ; * 調用函數:無 *
0000 ; ***********************************************************/
0000 ; BOOL NULL_PROC(void)
0000 ; {
0000 .dbline 89
0000 ; return FALSE;
0000 0027 clr R16
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e CMOS_INIT _CMOS_INIT fV
0004 ; Reg1 -> R10,R11
0004 ; n1 -> R20
.even
0004 _CMOS_INIT::
0004 0E940000 xcall push_xgset300C
0008 .dbline -1
0008 .dbline 110
0008 ; }
0008 ;
0008 ; /***********************************************************
0008 ; * 函數說明:消息隊列系統初始化函數 *
0008 ; * 輸入: 無 *
0008 ; * 輸出: 無 *
0008 ; * 調用函數:COS_REGISTER_PROC_FUNCTION *
0008 ; * -------------------------------------------------------- *
0008 ; * [注意事項] *
0008 ; * 1、ProcPCB[]是一個函數指針數組,里面登記著 *
0008 ; * 所有系統合法的消息處理函數的地址。 *
0008 ; * 2、ProcPCB[]下標中,0為系統保留,其余為用戶 *
0008 ; * 自定義。 *
0008 ; * 3、用戶需要自己通過編寫函數并通過連接宏 *
0008 ; * MSG_REGISTER_PROC_FUNCTION來注冊合法消息處理 *
0008 ; * 函數。 *
0008 ; * 4、編程的時候,每增加一個靜態的進程,就要增加一 *
0008 ; * 次進程計數器MSG_Proc_Counter。 *
0008 ; ***********************************************************/
0008 ; void CMOS_INIT(void)
0008 ; {
0008 .dbline 111
0008 ; uint8 n = 0;
0008 .dbline 113
0008 ;
0008 ; for (n = 0;n<COS_PROCESS_COUNT+1;n++)
0008 4427 clr R20
000A 14C0 xjmp L6
000C L3:
000C .dbline 114
000C ; {
000C .dbline 118
000C ; #ifdef _USE_MESSAGE_PROC
000C ; ProcPCB[n].ProcIO = SYS_DEFAULT;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -