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

📄 main.asm

📁 ucosz在2407上的移植代码
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx main.c C:\DOCUME~1\404\LOCALS~1\Temp\main.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\404\LOCALS~1\Temp\main.if C:\DOCUME~1\404\LOCALS~1\Temp\main.asm C:\DOCUME~1\404\LOCALS~1\Temp\main.tmp 
	.port
	.bss	_timesforlightb,1,1
	.bss	_timesforlight,1
	.bss	_baktxnum,1
	.bss	_timesfortxb,1
	.bss	_timesfortx,1
	.bss	_testmain,1
	.bss	_TaskData,2
_TaskStartpa	.usect	"para",128,1
_Tasktxpa	.usect	"para",128
_TaskStk	.usect	"funstack",128,1
_TaskStartStk	.usect	"funstack",256
	.file	"main.c"
	.file	"os_cpu.h"
	.sym	_BOOLEAN,0,12,13,16
	.sym	_INT8U,0,12,13,16
	.sym	_INT8S,0,2,13,16
	.sym	_INT16U,0,14,13,16
	.sym	_INT16S,0,4,13,16
	.sym	_INT32U,0,15,13,32
	.sym	_INT32S,0,5,13,32
	.sym	_FP32,0,6,13,32
	.sym	_FP64,0,7,13,32
	.sym	_OS_STK,0,14,13,16
	.globl	_OSTickDOSCtr
	.file	"ucos_ii.h"

	.stag	.fake0,80
	.member	_OSEventPtr,0,16,8,16
	.member	_OSEventTbl,16,60,8,16,,1
	.member	_OSEventCnt,32,14,8,16
	.member	_OSEventType,48,12,8,16
	.member	_OSEventGrp,64,12,8,16
	.eos
	.sym	_OS_EVENT,0,8,13,80,.fake0

	.stag	.fake1,48
	.member	_OSCnt,0,14,8,16
	.member	_OSEventTbl,16,60,8,16,,1
	.member	_OSEventGrp,32,12,8,16
	.eos
	.sym	_OS_SEM_DATA,0,8,13,48,.fake1

	.stag	_os_tcb,176
	.member	_OSTCBStkPtr,0,30,8,16
	.member	_OSTCBNext,16,24,8,16,_os_tcb
	.member	_OSTCBPrev,32,24,8,16,_os_tcb
	.member	_OSTCBEventPtr,48,24,8,16,.fake0
	.member	_OSTCBDly,64,14,8,16
	.member	_OSTCBStat,80,12,8,16
	.member	_OSTCBPrio,96,12,8,16
	.member	_OSTCBX,112,12,8,16
	.member	_OSTCBY,128,12,8,16
	.member	_OSTCBBitX,144,12,8,16
	.member	_OSTCBBitY,160,12,8,16
	.eos
	.sym	_OS_TCB,0,8,13,176,_os_tcb
	.globl	_OSCtxSwCtr
	.globl	_OSEventFreeList
	.globl	_OSEventTbl
	.globl	_OSIdleCtr
	.globl	_OSCPUUsage
	.globl	_OSIdleCtrMax
	.globl	_OSIdleCtrRun
	.globl	_OSStatRdy
	.globl	_OSIntNesting
	.globl	_OSLockNesting
	.globl	_OSPrioCur
	.globl	_OSPrioHighRdy
	.globl	_OSRdyGrp
	.globl	_OSRdyTbl
	.globl	_OSRunning
	.globl	_OSTaskCtr
	.globl	_OSTCBCur
	.globl	_OSTCBFreeList
	.globl	_OSTCBHighRdy
	.globl	_OSTCBList
	.globl	_OSTCBPrioTbl
	.globl	_OSTime
	.globl	_OSMapTbl
	.globl	_OSUnMapTbl
	.globl	_OSSemAccept
	.globl	_OSSemCreate
	.globl	_OSSemPend
	.globl	_OSSemPost
	.globl	_OSSemQuery
	.globl	_OSTaskCreate
	.globl	_OSTaskQuery
	.globl	_OSTimeDly
	.globl	_OSTimeDlyHMSM
	.globl	_OSTimeDlyResume
	.globl	_OSTimeGet
	.globl	_OSTimeSet
	.globl	_OSTimeTick
	.globl	_OSInit
	.globl	_OSIntEnter
	.globl	_OSIntExit
	.globl	_OSSchedLock
	.globl	_OSSchedUnlock
	.globl	_OSStart
	.globl	_OSStatInit
	.globl	_OSVersion
	.globl	_OSEventTaskRdy
	.globl	_OSEventTaskWait
	.globl	_OSEventTO
	.globl	_OSEventWaitListInit
	.globl	_OSSched
	.globl	_OSTaskIdle
	.globl	_OSTaskStat
	.globl	_OSTCBInit
	.globl	_OSCtxSw
	.globl	_OSIntCtxSw
	.globl	_OSStartHighRdy
	.globl	_OSTaskCreateHook
	.globl	_OSTaskDelHook
	.globl	_OSTaskStatHook
	.globl	_OSTaskStkInit
	.globl	_OSTaskSwHook
	.globl	_OSTickISR
	.globl	_OSTimeTickHook
	.file	"main.c"
	.globl	_timesfortx
	.globl	_timesfortxb
	.globl	_timesforlight
	.globl	_timesforlightb
	.globl	_baktxnum
	.globl	_Tasktxpa
	.globl	_TaskStartpa
	.globl	_TaskStk
	.globl	_TaskStartStk
	.globl	_TaskData
	.globl	_Tasktx
	.globl	_TaskStart
	.globl	_portc
	.globl	_main
	.globl	_c_int0
	.globl	_scitxbuf
	.globl	_bakled
	.globl	_intinitial
	.globl	_sysinit
	.text

	.sym	_TaskStart,_TaskStart,32,2,0
	.globl	_TaskStart

	.func	40
;>>>> 	void TaskStart (void *data)
******************************************************
* FUNCTION DEF : _TaskStart
******************************************************
_TaskStart:

LF1	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.sym	_data,-3+LF1,16,9,16
	.line	2
	.line	4
;>>>> 		intinitial();
	CALL	_intinitial
	.line	5
;>>>> 	    data = data;
	.line	6
;>>>> 		bakled=3;
	LACK	3
	LDPK	_bakled
	SACL	_bakled
	.line	7
;>>>> 		leds=bakled;
;>>>> 	  for (;;)
	SACL	* 
	OUT	* ,0ch
L1:
	.line	10
;>>>> 			OSTimeDly(20);
	LACK	20
	SACL	*+
	CALL	_OSTimeDly
	MAR	*-
	.line	11
;>>>> 			timesforlightb=timesforlight;
	LDPK	_timesforlight
	BLDD	_timesforlight,#_timesforlightb
	.line	12
;>>>> 			if(timesforlightb>=100)
	SSXM
	LAC	_timesforlightb
	SUBK	100
	BLZ	L1
	.line	14
;>>>> 				timesforlight-=100;
	LAC	_timesforlight
	SUBK	100
	SACL	_timesforlight
	.line	15
;>>>> 				bakled=bakled^3;
	LACK	3
	LDPK	_bakled
	XOR	_bakled
	SACL	_bakled
	.line	16
;>>>> 				leds=bakled;
	OUT	_bakled,0ch
	.line	19
	B	L1
	.endfunc	61,000000000H,1

	.sym	_Tasktx,_Tasktx,32,2,0
	.globl	_Tasktx

	.func	70
;>>>> 	void Tasktx (void *data)
******************************************************
* FUNCTION DEF : _Tasktx
******************************************************
_Tasktx:

LF2	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.sym	_data,-3+LF2,16,9,16
	.line	2
	.line	3
;>>>> 		data=data;
	.line	4
;>>>> 		baktxnum=0;
;>>>> 	    for (;;)
	LACK	0
	LDPK	_baktxnum
	SACL	_baktxnum
L3:
	.line	8
;>>>> 			OSTimeDly(20);
	LACK	20
	SACL	*+
	CALL	_OSTimeDly
	MAR	*-
	.line	9
;>>>> 			timesfortxb=timesfortx;
	LDPK	_timesfortx
	BLDD	_timesfortx,#_timesfortxb
	.line	10
;>>>> 			if(timesfortxb>=50)
	SSXM
	LAC	_timesfortxb
	SUBK	50
	BLZ	L3
	.line	12
;>>>> 				timesfortx-=50;
	LAC	_timesfortx
	SUBK	50
	SACL	_timesfortx
	.line	13
;>>>> 				bakled=bakled^0xc;
	LACK	12
	LDPK	_bakled
	XOR	_bakled
	SACL	_bakled
	.line	14
;>>>> 				leds=bakled;
	OUT	_bakled,0ch
	.line	15
;>>>> 				scitxbuf=baktxnum;
	LDPK	_baktxnum
	BLDD	_baktxnum,#_scitxbuf
	.line	16
;>>>> 				baktxnum++;
	LAC	_baktxnum
	ADDK	1
	SACL	_baktxnum
	.line	19
	B	L3
	.endfunc	91,000000000H,1
	.globl	_testmain

	.sym	_main,_main,32,2,0
	.globl	_main

	.func	93
;>>>> 	void main()
;>>>> 		int testcan;
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+,AR2

	.sym	_testcan,1,4,1,16
	.line	4
;>>>> 		testcan=0;
	LACK	0
	LARK	AR2,1
	MAR	*0+
	SACL	* ,AR1
	.line	5
;>>>> 		testmain=0;
	LDPK	_testmain
	SACL	_testmain
	.line	6
;>>>> 		sysinit();
	CALL	_sysinit
	.line	7
;>>>> 		OSInit();                                              /* Initialize uC/OS-II                      */
	CALL	_OSInit
	.line	8
;>>>> 		timesfortx=0;
	LACK	0
	LDPK	_timesfortx
	SACL	_timesfortx
	.line	9
;>>>> 		timesforlight=0;
	SACL	_timesforlight
	.line	10
;>>>> 		OSTaskCreate(TaskStart, (void *)TaskStartpa, (void *)&TaskStartStk[0], 0);
	SACL	*+
	LALK	_TaskStartStk+0
	SACL	*+
	LALK	_TaskStartpa+0
	SACL	*+
	LALK	_TaskStart+0
	SACL	*+
	CALL	_OSTaskCreate
	SBRK	4
	.line	11
;>>>> 		OSTaskCreate(Tasktx, (void *)Tasktxpa, (void *)&TaskStk[0], 1);
	LACK	1
	SACL	*+
	LALK	_TaskStk+0
	SACL	*+
	LALK	_Tasktxpa+0
	SACL	*+
	LALK	_Tasktx+0
	SACL	*+
	CALL	_OSTaskCreate
	SBRK	4
	.line	13
;>>>> 		OSStart();                                             /* Start multitasking                       */
;>>>> 		while(1)
	CALL	_OSStart
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
L5:
	.line	16
;>>>> 			testmain++;
	LDPK	_testmain
	LAC	_testmain
	ADDK	1
	SACL	_testmain
	.line	17
;>>>> 			testcan++;
	LAC	* 
	ADDK	1
	SACL	* 
	.line	18
	B	L5
	.endfunc	111,000000000H,2

	.sym	_TaskData,_TaskData,50,2,32,,2
	.globl	_TaskData

	.sym	_timesforlightb,_timesforlightb,4,2,16
	.globl	_timesforlightb

	.sym	_baktxnum,_baktxnum,4,2,16
	.globl	_baktxnum

	.sym	_Tasktxpa,_Tasktxpa,52,2,2048,,128
	.globl	_Tasktxpa

	.sym	_timesfortx,_timesfortx,4,2,16
	.globl	_timesfortx

	.sym	_timesforlight,_timesforlight,4,2,16
	.globl	_timesforlight

	.sym	_TaskStk,_TaskStk,62,2,2048,,128
	.globl	_TaskStk

	.sym	_TaskStartStk,_TaskStartStk,62,2,4096,,256
	.globl	_TaskStartStk

	.sym	_TaskStartpa,_TaskStartpa,52,2,2048,,128
	.globl	_TaskStartpa

	.sym	_testmain,_testmain,4,2,16
	.globl	_testmain

	.sym	_timesfortxb,_timesfortxb,4,2,16
	.globl	_timesfortxb
	.end

⌨️ 快捷键说明

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