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

📄 os_task.asm

📁 此代码是ucos-II在凌阳61单片机上的移植
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.dw 0x0d,0x0a
.code
LM81:
L26:

	sp+=3
	pop bp from [sp]
	retf
	.endp	// end of OSTaskCreate

.debug
	.dw '.stabs "task:p46=*47=f19",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "p_arg:p31",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "ptos:p40",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "prio:p21",160,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_OSTaskCreate
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "psp:40",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "err:21",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB7-_OSTaskCreate
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE7-_OSTaskCreate
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB8-_OSTaskCreate
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE8-_OSTaskCreate
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_OSTaskCreate
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME2-_OSTaskCreate
	.dw 0x0d,0x0a
.code
LME2:
.code
.debug
	.dw '.stabs "OSTaskCreateExt:F21",36,0,0,',0,0,offset _OSTaskCreateExt,seg _OSTaskCreateExt,0x0d,0x0a
.CODE
.public _OSTaskCreateExt
_OSTaskCreateExt:	.proc
.debug
	.dw '.stabn 0x44,0,298,',0,0
	.dd LM82-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM82:
	// total=3, vars=3
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=3
	bp=sp+1

	R1=BP+6
	[bp+2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,299,',0,0
	.dd LM83-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM83:
LBB9:
.debug
	.dw '.stabn 0x44,0,308,',0,0
	.dd LM84-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM84:
	R1=[bp+2]	// QImode move
	R3=[bp+2]	// QImode move
	R2=R3+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,25	// QImode compare
	NSJNA L39	//QImode LEU
.debug
	.dw '.stabn 0x44,0,309,',0,0
	.dd LM85-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM85:
	R1=42	// QImode move
	pc=L38	// Indirect jump
L39:
.debug
	.dw '.stabn 0x44,0,312,',0,0
	.dd LM86-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM86:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,313,',0,0
	.dd LM87-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM87:
	R1=[_OSIntNesting]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L40	//QImode EQ
.debug
	.dw '.stabn 0x44,0,314,',0,0
	.dd LM88-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM88:
LBB10:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,315,',0,0
	.dd LM89-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM89:
	R1=16	// QImode move
	pc=L38	// Indirect jump
.debug
	.dw '.stabn 0x44,0,316,',0,0
	.dd LM90-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM90:
LBE10:
L40:
.debug
	.dw '.stabn 0x44,0,317,',0,0
	.dd LM91-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM91:
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+3
	R1=_OSTCBPrioTbl	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	CMP R2,0	// QImode test
	NSJNZ L41	//QImode NE
.debug
	.dw '.stabn 0x44,0,318,',0,0
	.dd LM92-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM92:
LBB11:
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+3
	R1=_OSTCBPrioTbl	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R2=1	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,320,',0,0
	.dd LM93-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM93:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,322,',0,0
	.dd LM94-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM94:
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+9
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+6
	R1=R2	// QImode move
	//split R3, [R1]
	R3=[R1++]	// QImode move
	R4=[R1--]	// QImode move
	push R3,R4 to [sp]	// pushhi
	R1=[bp+2]	// QImode move
	R3=[bp+2]	// QImode move
	R2=R3+5
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _OS_TaskStkClr	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,324,',0,0
	.dd LM95-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM95:
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+9
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R2=[bp+2]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _OSTaskStkInit	// call with return value
	SP = SP + 4	//SP
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,325,',0,0
	.dd LM96-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM96:
	R1=[bp+2]	// QImode move
	R3=[bp+2]	// QImode move
	R2=R3+9
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+8
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+6
	R1=R2	// QImode move
	//split R3, [R1]
	R3=[R1++]	// QImode move
	R4=[R1--]	// QImode move
	push R3,R4 to [sp]	// pushhi
	R1=[bp+2]	// QImode move
	R3=[bp+2]	// QImode move
	R2=R3+4
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+5
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	[SP--]=R1	// QImode move
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _OS_TCBInit	// call with return value
	SP = SP + 8	//SP
	R2=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,326,',0,0
	.dd LM97-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM97:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L42	//QImode NE
.debug
	.dw '.stabn 0x44,0,327,',0,0
	.dd LM98-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM98:
	R1=[_OSRunning]	// QImode move
	CMP R1,1	// QImode compare
	NSJNZ L43	//QImode NE
.debug
	.dw '.stabn 0x44,0,328,',0,0
	.dd LM99-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM99:
	call _OS_Sched	// call without return value
L43:
.debug
	.dw '.stabn 0x44,0,330,',0,0
	.dd LM100-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM100:
	pc=L44	// Indirect jump
L42:
.debug
	.dw '.stabn 0x44,0,331,',0,0
	.dd LM101-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM101:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,332,',0,0
	.dd LM102-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM102:
	R1=[bp+2]	// QImode move
	R1=[bp+2]	// QImode move
	R2=R1+3
	R1=_OSTCBPrioTbl	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R2=0	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,333,',0,0
	.dd LM103-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM103:
	call _Critical_out	// call with return value
L44:
.debug
	.dw '.stabn 0x44,0,335,',0,0
	.dd LM104-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM104:
	R1=BP	// QImode move
	R2=BP+1
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3	// QImode move
	pc=L38	// Indirect jump
.debug
	.dw '.stabn 0x44,0,336,',0,0
	.dd LM105-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM105:
LBE11:
L41:
.debug
	.dw '.stabn 0x44,0,337,',0,0
	.dd LM106-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM106:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,338,',0,0
	.dd LM107-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM107:
	R1=40	// QImode move
	pc=L38	// Indirect jump
.debug
	.dw '.stabn 0x44,0,339,',0,0
	.dd LM108-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM108:
LBE9:
.debug
	.dw '.stabn 0x44,0,339,',0,0
	.dd LM109-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LM109:
L38:

	sp+=3
	pop bp from [sp]
	retf
	.endp	// end of OSTaskCreateExt

.debug
	.dw '.stabs "task:p46",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "p_arg:p31",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "ptos:p40",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "prio:p21",160,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "id:p23",160,0,0,10',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "pbos:p40",160,0,0,11',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "stk_size:p25",160,0,0,12',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "pext:p31",160,0,0,14',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "opt:p23",160,0,0,15',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB9-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "psp:40",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "err:21",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB10-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE10-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB11-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE11-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE9-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_OSTaskCreateExt
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "OSTaskDel:F21",36,0,0,',0,0,offset _OSTaskDel,seg _OSTaskDel,0x0d,0x0a
.CODE
.public _OSTaskDel
_OSTaskDel:	.proc
.debug
	.dw '.stabn 0x44,0,380,',0,0
	.dd LM110-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM110:
	// total=11, vars=11
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=11
	bp=sp+1

	R1=BP+14
	[bp+3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,382,',0,0
	.dd LM111-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM111:
LBB12:
.debug
	.dw '.stabn 0x44,0,395,',0,0
	.dd LM112-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM112:
	R1=[_OSIntNesting]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L51	//QImode EQ
.debug
	.dw '.stabn 0x44,0,396,',0,0
	.dd LM113-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM113:
	R1=63	// QImode move
	pc=L50	// Indirect jump
L51:
.debug
	.dw '.stabn 0x44,0,399,',0,0
	.dd LM114-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM114:
	R2=[bp+3]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,25	// QImode compare
	NSJNZ L52	//QImode NE
.debug
	.dw '.stabn 0x44,0,400,',0,0
	.dd LM115-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM115:
	R1=61	// QImode move
	pc=L50	// Indirect jump
L52:
.debug
	.dw '.stabn 0x44,0,402,',0,0
	.dd LM116-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM116:
	R3=[bp+3]	// QImode move
	R1=[R3]	// QImode move
	CMP R1,24	// QImode compare
	NSJNA L53	//QImode LEU
.debug
	.dw '.stabn 0x44,0,403,',0,0
	.dd LM117-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM117:
	R4=[bp+3]	// QImode move
	R1=[R4]	// QImode move
	CMP R1,255	// QImode compare
	NSJZ L53	//QImode EQ
.debug
	.dw '.stabn 0x44,0,404,',0,0
	.dd LM118-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM118:
	R1=42	// QImode move
	pc=L50	// Indirect jump
L54:
L53:
.debug
	.dw '.stabn 0x44,0,408,',0,0
	.dd LM119-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM119:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,409,',0,0
	.dd LM120-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM120:
	R2=[bp+3]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,255	// QImode compare
	NSJNZ L55	//QImode NE
.debug
	.dw '.stabn 0x44,0,410,',0,0
	.dd LM121-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM121:
	R2=[_OSTCBCur]	// QImode move
	R1=R2	// QImode move
	R2=R2+13
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R4=[bp+3]	// QImode move
	[R4]=R1	// QImode move
L55:
.debug
	.dw '.stabn 0x44,0,412,',0,0
	.dd LM122-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM122:
	R2=BP	// QImode move
	R1=BP+1
	R2=_OSTCBPrioTbl	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R2 = R2 + R3	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,413,',0,0
	.dd LM123-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM123:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L56	//QImode NE
.debug
	.dw '.stabn 0x44,0,414,',0,0
	.dd LM124-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM124:
LBB13:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,415,',0,0
	.dd LM125-_OSTaskDel
	.dw 0x0d,0x0a
.code
LM125:
	R1=60	// QImode move
	pc=L50	// Indirect jump
.debug

⌨️ 快捷键说明

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