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

📄 os_task.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.50 *
;* Date/Time created: Wed Apr 07 11:37:09 2004                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
;	acp500 -m --i_output_file D:\DOCUME~1\liuchao\LOCALS~1\Temp\tempTI2 --ii_file D:\DOCUME~1\liuchao\LOCALS~1\Temp\tempTI3 --object_file .\os_task.obj --opt_shell 5 os_task.c os_task.c -gk -as -fr. os_task.c 
	.file	"os_task.c"
	.file	"e:\ti\c5400\cgtools\include\os_cpu.h"
	.sym	_BOOLEAN, 0, 14, 13, 16
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_INT32U, 0, 15, 13, 32
	.sym	_OS_STK, 0, 14, 13, 16
	.file	"e:\ti\c5400\cgtools\include\os_cfg.h"
	.sym	_OS_FLAGS, 0, 14, 13, 16
	.file	".\ucos_ii.h"
	.stag	_os_event, 704
	.member	_OSEventType, 0, 14, 8, 16
	.member	_OSEventGrp, 16, 14, 8, 16
	.member	_OSEventCnt, 32, 14, 8, 16
	.member	_OSEventPtr, 48, 16, 8, 16
	.member	_OSEventTbl, 64, 62, 8, 128, , 8
	.member	_OSEventName, 192, 50, 8, 512, , 32
	.eos
	.sym	_OS_EVENT, 0, 8, 13, 704,_os_event
	.stag	_os_flag_node, 0
	.eos
	.sym	_OS_FLAG_NODE, 0, 8, 13, 0,_os_flag_node
	.stag	_os_stk_data, 64
	.member	_OSFree, 0, 15, 8, 32
	.member	_OSUsed, 32, 15, 8, 32
	.eos
	.sym	_OS_STK_DATA, 0, 8, 13, 64,_os_stk_data
	.stag	_os_tcb, 1024
	.member	_OSTCBStkPtr, 0, 30, 8, 16
	.member	_OSTCBExtPtr, 16, 16, 8, 16
	.member	_OSTCBStkBottom, 32, 30, 8, 16
	.member	_OSTCBStkSize, 64, 15, 8, 32
	.member	_OSTCBOpt, 96, 14, 8, 16
	.member	_OSTCBId, 112, 14, 8, 16
	.member	_OSTCBNext, 128, 24, 8, 16, _os_tcb
	.member	_OSTCBPrev, 144, 24, 8, 16, _os_tcb
	.member	_OSTCBEventPtr, 160, 24, 8, 16, _os_event
	.member	_OSTCBMsg, 176, 16, 8, 16
	.member	_OSTCBFlagNode, 192, 24, 8, 16, _os_flag_node
	.member	_OSTCBFlagsRdy, 208, 14, 8, 16
	.member	_OSTCBDly, 224, 14, 8, 16
	.member	_OSTCBStat, 240, 14, 8, 16
	.member	_OSTCBPrio, 256, 14, 8, 16
	.member	_OSTCBX, 272, 14, 8, 16
	.member	_OSTCBY, 288, 14, 8, 16
	.member	_OSTCBBitX, 304, 14, 8, 16
	.member	_OSTCBBitY, 320, 14, 8, 16
	.member	_OSTCBDelReq, 336, 14, 8, 16
	.member	_OSTCBCtxSwCtr, 352, 15, 8, 32
	.member	_OSTCBCyclesTot, 384, 15, 8, 32
	.member	_OSTCBCyclesStart, 416, 15, 8, 32
	.member	_OSTCBStkBase, 448, 30, 8, 16
	.member	_OSTCBStkUsed, 480, 15, 8, 32
	.member	_OSTCBTaskName, 512, 50, 8, 512, , 32
	.eos
	.sym	_OS_TCB, 0, 8, 13, 1024,_os_tcb
	.file	"os_task.c"
	.file	".\ucos_ii.h"
	.sym	_INT8U, 0, 14, 13, 16
	.file	"os_task.c"
	.sect	".text"
	.global	_OSTaskChangePrio
	.sym	_OSTaskChangePrio,_OSTaskChangePrio, 46, 2, 0
	.func	40

;***************************************************************
;* FUNCTION DEF: _OSTaskChangePrio                             *
;***************************************************************
_OSTaskChangePrio:
;* A     assigned to _oldprio
	.sym	_oldprio,0, 14, 17, 16
	.sym	_newprio,10, 14, 9, 16
	.sym	_oldprio,0, 14, 1, 16
	.sym	_pevent,1, 24, 1, 16, _os_event
	.sym	_ptcb,2, 24, 1, 16, _os_tcb
	.sym	_x,3, 14, 1, 16
	.sym	_y,4, 14, 1, 16
	.sym	_bitx,5, 14, 1, 16
	.sym	_bity,6, 14, 1, 16
	.sym	_y_old,7, 14, 1, 16
        PSHM      AR1
        FRAME     #-8
        NOP
	.line	2
        STL       A,*SP(0)              ; |41| 
	.line	20
        STLM      A,AR1                 ; |59| 
        NOP
        STM       #63,AR0               ; |59| 
        CMPR      1,AR1                 ; |59| 
        BC        L1,TC                 ; |59| 
        ; branch occurs ; |59| 
	.line	21
        CMPM      *SP(0),#255           ; |60| 
        BC        L1,TC                 ; |60| 
        ; branch occurs ; |60| 
	.line	22
        BD        L10                   ; |61| 
        NOP
        LD        #42,A                 ; |61| 
        ; branch occurs ; |61| 
L1:    
	.line	25
        STM       #63,AR0               ; |64| 
        MVDK      *SP(10),*(AR1)        ; |64| 
        CMPR      1,AR1                 ; |64| 
        BC        L2,TC                 ; |64| 
        ; branch occurs ; |64| 
	.line	26
        BD        L10                   ; |65| 
        NOP
        LD        #42,A                 ; |65| 
        ; branch occurs ; |65| 
L2:    
	.line	29
 ssbx INTM
	.line	30
        MVDK      *SP(10),*(AR1)        ; |69| 
        LD        *AR1(_OSTCBPrioTbl),A ; |69| 
        BC        L3,AEQ                ; |69| 
        ; branch occurs ; |69| 
	.line	31
 rsbx INTM
	.line	32
        BD        L10                   ; |71| 
        NOP
        LD        #40,A                 ; |71| 
        ; branch occurs ; |71| 
L3:    
	.line	34
        CMPM      *SP(0),#255           ; |73| 
        BC        L4,NTC                ; |73| 
        ; branch occurs ; |73| 
	.line	35
        MVDM      *(_OSTCBCur),AR1      ; |74| 
        NOP
        LD        *AR1(16),A            ; |74| 
        STL       A,*SP(0)              ; |74| 
L4:    
	.line	37
        MVDK      *SP(0),*(AR1)         ; |76| 
        LD        *AR1(_OSTCBPrioTbl),A ; |76| 
        STL       A,*SP(2)              ; |76| 
	.line	38
        LD        *SP(2),A              ; |77| 
        BC        L5,ANEQ               ; |77| 
        ; branch occurs ; |77| 
	.line	39
 rsbx INTM
	.line	40
        BD        L10                   ; |79| 
        NOP
        LD        #41,A                 ; |79| 
        ; branch occurs ; |79| 
L5:    
	.line	42
        RSBX      SXM                   ; 
        LD        *SP(10),#-3,A         ; |81| 
        STL       A,*SP(4)              ; |81| 
	.line	43
        MVDK      *SP(4),*(AR1)         ; |82| 
        LD        *AR1(_OSMapTbl),A     ; |82| 
        STL       A,*SP(6)              ; |82| 
	.line	44
        LD        #7,A                  ; |83| 
        AND       *SP(10),A             ; |83| 
        STL       A,*SP(3)              ; |83| 
	.line	45
        MVDK      *SP(3),*(AR1)         ; |84| 
        LD        *AR1(_OSMapTbl),A     ; |84| 
        STL       A,*SP(5)              ; |84| 
	.line	46
        MVDK      *SP(0),*(AR1)         ; |85| 
        ST        #0,*AR1(_OSTCBPrioTbl) ; |85| 
	.line	47
        LD        *SP(2),A              ; |86| 
        MVDK      *SP(10),*(AR1)        ; |86| 
        STL       A,*AR1(_OSTCBPrioTbl) ; |86| 
	.line	48
        MVDK      *SP(2),*(AR1)         ; |87| 
        LD        *AR1(18),A            ; |87| 
        STL       A,*SP(7)              ; |87| 
	.line	49
        LD        *AR1(19),A            ; |88| 
        MVDK      *SP(7),*(AR2)         ; |88| 
        AND       *AR2(_OSRdyTbl),A     ; |88| 
        NOP
        LDM       AL,A                  ; |88| 
        BC        L7,AEQ                ; |88| 
        ; branch occurs ; |88| 
	.line	50
        MVMM      AR2,AR1
        MVDK      *SP(2),*(AR2)         ; |89| 
        LD        *AR2(19),A            ; |89| 
        CMPL      A,A                   ; |89| 
        AND       *AR1(_OSRdyTbl),A     ; |89| 
        STL       A,*AR1(_OSRdyTbl)     ; |89| 
	.line	51
        MVDK      *SP(7),*(AR1)         ; |90| 
        LD        *AR1(_OSRdyTbl),A     ; |90| 
        BC        L6,ANEQ               ; |90| 
        ; branch occurs ; |90| 
	.line	52
        MVDK      *SP(2),*(AR1)         ; |91| 
        LD        *AR1(20),A            ; |91| 
        CMPL      A,A                   ; |91| 
        AND       *(_OSRdyGrp),A        ; |91| 
        STL       A,*(_OSRdyGrp)        ; |91| 
L6:    
	.line	54
        LD        *SP(6),A              ; |93| 
        OR        *(_OSRdyGrp),A        ; |93| 
        STL       A,*(_OSRdyGrp)        ; |93| 
	.line	55
        MVDK      *SP(4),*(AR1)         ; |94| 
        LD        *SP(5),A              ; |94| 
        OR        *AR1(_OSRdyTbl),A     ; |94| 
        STL       A,*AR1(_OSRdyTbl)     ; |94| 
	.line	57
        B         L9                    ; |96| 
        ; branch occurs ; |96| 
L7:    
	.line	58
        LD        *AR1(10),A            ; |97| 
        STL       A,*SP(1)              ; |97| 
	.line	59
        LD        *SP(1),A              ; |98| 
        BC        L9,AEQ                ; |98| 
        ; branch occurs ; |98| 
	.line	60
        LDM       AR2,A
        ADD       *SP(1),A              ; |99| 
        MVDK      *SP(2),*(AR2)         ; |99| 
        ADD       #4,A,A                ; |99| 
        STLM      A,AR1                 ; |99| 
        LD        *AR2(19),A            ; |99| 
        CMPL      A,A                   ; |99| 
        AND       *AR1,A                ; |99| 
        STL       A,*AR1                ; |99| 
	.line	61
        LD        *SP(7),16,A           ; |100| 
        ADD       *SP(1),16,A,A         ; |100| 
        STH       A,*(AR1)              ; |100| 
        NOP
        NOP
        LD        *AR1(4),A             ; |100| 
        BC        L8,ANEQ               ; |100| 
        ; branch occurs ; |100| 
	.line	62
        MVDK      *SP(2),*(AR2)         ; |101| 
        MVDK      *SP(1),*(AR1)         ; |101| 
        LD        *AR2(20),A            ; |101| 
        CMPL      A,A                   ; |101| 
        AND       *AR1(1),A             ; |101| 
        STL       A,*AR1(1)             ; |101| 
L8:    
	.line	64
        MVDK      *SP(1),*(AR1)         ; |103| 
        LD        *SP(6),A              ; |103| 
        OR        *AR1(1),A             ; |103| 
        STL       A,*AR1(1)             ; |103| 
	.line	65
        LD        *SP(4),A              ; |104| 
        ADD       *SP(1),A              ; |104| 
        ADD       #4,A,A                ; |104| 
        STLM      A,AR1                 ; |104| 
        NOP
        LD        *SP(5),A              ; |104| 
        OR        *AR1,A                ; |104| 
        STL       A,*AR1                ; |104| 
L9:    
	.line	69
        LD        *SP(10),A             ; |108| 
        MVDK      *SP(2),*(AR1)         ; |108| 
        STL       A,*AR1(16)            ; |108| 
	.line	70
        MVDK      *SP(2),*(AR1)         ; |109| 
        LD        *SP(4),A              ; |109| 
        STL       A,*AR1(18)            ; |109| 
	.line	71
        MVDK      *SP(2),*(AR1)         ; |110| 
        LD        *SP(3),A              ; |110| 
        STL       A,*AR1(17)            ; |110| 
	.line	72
        MVDK      *SP(2),*(AR1)         ; |111| 
        LD        *SP(6),A              ; |111| 
        STL       A,*AR1(20)            ; |111| 
	.line	73
        MVDK      *SP(2),*(AR1)         ; |112| 
        LD        *SP(5),A              ; |112| 
        STL       A,*AR1(19)            ; |112| 
	.line	74
 rsbx INTM
	.line	75
        CALL      #_OS_Sched            ; |114| 
        ; call occurs [#_OS_Sched] ; |114| 
	.line	76
        LD        #0,A                  ; |115| 
L10:    
	.line	77
        FRAME     #8                    ; |116| 
        POPM      AR1                   ; |116| 
        RET       ; |116| 
        ; return occurs ; |116| 
	.endfunc	116,000000400h,9


	.sect	".text"
	.global	_OSTaskCreate
	.sym	_OSTaskCreate,_OSTaskCreate, 46, 2, 0
	.func	159

;***************************************************************
;* FUNCTION DEF: _OSTaskCreate                                 *
;***************************************************************
_OSTaskCreate:
;* A     assigned to _task
	.sym	_task,0, 144, 17, 16
	.sym	_p_arg,14, 16, 9, 16
	.sym	_ptos,15, 30, 9, 16
	.sym	_prio,16, 14, 9, 16
	.sym	_task,8, 144, 1, 16
	.sym	_psp,9, 30, 1, 16
	.sym	_err,10, 14, 1, 16
        PSHM      AR1
        FRAME     #-12
        NOP
	.line	2
        STL       A,*SP(8)              ; |160| 
	.line	11
        STM       #63,AR0               ; |169| 
        MVDK      *SP(16),*(AR1)        ; |169| 
        CMPR      2,AR1                 ; |169| 
        BC        L11,NTC               ; |169| 
        ; branch occurs ; |169| 
	.line	12
        BD        L15                   ; |170| 
        NOP
        LD        #42,A                 ; |170| 
        ; branch occurs ; |170| 
L11:    
	.line	15
 ssbx INTM
	.line	16
        MVDK      *SP(16),*(AR1)        ; |174| 
        LD        *AR1(_OSTCBPrioTbl),A ; |174| 
        BC        L14,ANEQ              ; |174| 
        ; branch occurs ; |174| 
	.line	17
        ST        #1,*AR1(_OSTCBPrioTbl) ; |175| 
	.line	19
 rsbx INTM
	.line	20
        LD        *SP(14),A             ; |178| 
        STL       A,*SP(0)              ; |178| 
        ST        #0,*SP(2)             ; |178| 
        LD        *SP(15),A             ; |178| 
        STL       A,*SP(1)              ; |178| 
        LD        *SP(8),A              ; |178| 
        CALL      #_OSTaskStkInit       ; |178| 
        ; call occurs [#_OSTaskStkInit] ; |178| 
        STL       A,*SP(9)              ; |178| 
	.line	21
        ST        #0,*SP(1)             ; |179| 
        ST        #0,*SP(2)             ; |179| 
        STL       A,*SP(0)              ; |179| 
        ST        #0,*SP(6)             ; |179| 
        ST        #0,*SP(7)             ; |179| 
        LD        #0,A                  ; |179| 
        DST       A,*SP(4)              ; |179| 
        LD        *SP(16),A             ; |179| 
        CALL      #_OS_TCBInit          ; |179| 
        ; call occurs [#_OS_TCBInit] ; |179| 
        STL       A,*SP(10)             ; |179| 
	.line	22
        LD        *SP(10),A             ; |180| 
        BC        L12,ANEQ              ; |180| 
        ; branch occurs ; |180| 
	.line	23
 ssbx INTM
	.line	24
        ADDM      #1,*(_OSTaskCtr)      ; |182| 
	.line	25
 rsbx INTM
	.line	26
        CMPM      *(_OSRunning),#1      ; |184| 
        BC        L13,NTC               ; |184| 
        ; branch occurs ; |184| 
	.line	27
        CALL      #_OS_Sched            ; |185| 
        ; call occurs [#_OS_Sched] ; |185| 
	.line	29
        B         L13                   ; |187| 
        ; branch occurs ; |187| 
L12:    
	.line	30
 ssbx INTM
	.line	31
        MVDK      *SP(16),*(AR1)        ; |189| 
        ST        #0,*AR1(_OSTCBPrioTbl) ; |189| 
	.line	32
 rsbx INTM
L13:    
	.line	34
        BD        L15                   ; |192| 
        NOP
        LD        *SP(10),A             ; |192| 
        ; branch occurs ; |192| 
L14:    
	.line	36
 rsbx INTM
	.line	37
        LD        #40,A                 ; |195| 
L15:    
	.line	38
        FRAME     #12                   ; |196| 
        POPM      AR1                   ; |196| 

⌨️ 快捷键说明

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