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

📄 os_core.asm

📁 此代码是ucos-II在凌阳61单片机上的移植
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	[bp+8]=R3	// QImode move
	R1=BP	// QImode move
	R2=BP+1
	R1=1	// QImode move
	R4=R2	// QImode move
	R2=[R4]	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __lshiu1	// call with return value
	SP = SP + 2	//SP
	R2=[bp+8]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,666,',0,0
	.dd LM185-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM185:
	R2=BP	// QImode move
	R1=BP+3
	R2=BP	// QImode move
	R3=BP+2
	R2=R3	// QImode move
	R4=[R2]	// QImode move
	R2=R4 lsl 3
	R3=BP	// QImode move
	R4=BP+1
	R3=R4	// QImode move
	R2 = R2 + [R3]	//addqi3
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,684,',0,0
	.dd LM186-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM186:
	R2=[bp+6]	// QImode move
	R1=[R2]	// QImode move
	R3=BP	// QImode move
	R2=BP+2
	R3=R1	// QImode move
	R1=R1+4
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R4=[bp+6]	// QImode move
	R2=[R4]	// QImode move
	R4=BP	// QImode move
	R3=BP+2
	R4=R2	// QImode move
	R2=R2+4
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	R2 = R2 + R3	//addqi3
	R3=BP	// QImode move
	R4=BP+4
	R3=R4	// QImode move
	R3=[R3]	// QImode move
	[bp+9]=R3	// QImode move
	R4=[bp+9]	// QImode move
	R4=R4^0xffff	// one_cmplqi2
	[bp+13]=R4	// QImode move
	R3=R2	// QImode move
	R4=[R3]	// QImode move
	R3=[bp+13]	// QImode move
	R4&=R3
	R3=R1	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,685,',0,0
	.dd LM187-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM187:
	R2=[bp+6]	// QImode move
	R1=[R2]	// QImode move
	R3=BP	// QImode move
	R2=BP+2
	R3=R1	// QImode move
	R1=R1+4
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	CMP R2,0	// QImode test
	NSJNZ L104	//QImode NE
.debug
	.dw '.stabn 0x44,0,686,',0,0
	.dd LM188-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM188:
	R2=[bp+6]	// QImode move
	R1=[R2]	// QImode move
	R2=R1	// QImode move
	R1=R1+3
	R3=[bp+6]	// QImode move
	R2=[R3]	// QImode move
	R3=R2	// QImode move
	R2=R2+3
	R3=BP	// QImode move
	R4=BP+5
	R3=R4	// QImode move
	R3=[R3]	// QImode move
	[bp+10]=R3	// QImode move
	R4=[bp+10]	// QImode move
	R4=R4^0xffff	// one_cmplqi2
	[bp+13]=R4	// QImode move
	R3=R2	// QImode move
	R4=[R3]	// QImode move
	R3=[bp+13]	// QImode move
	R4&=R3
	R3=R1	// QImode move
	[R3]=R4	// QImode move
L104:
.debug
	.dw '.stabn 0x44,0,688,',0,0
	.dd LM189-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM189:
	R1=BP	// QImode move
	R2=BP+3
	R1=_OSTCBPrioTbl	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,689,',0,0
	.dd LM190-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM190:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+10
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,690,',0,0
	.dd LM191-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM191:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+9
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,694,',0,0
	.dd LM192-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM192:
	R2=[bp+6]	// QImode move
	R2=[bp+6]	// QImode move
	R1=R2+1
	R2=[bp+6]	// QImode move
	R4=[bp+6]	// QImode move
	R3=R4+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,696,',0,0
	.dd LM193-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM193:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+12
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,697,',0,0
	.dd LM194-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM194:
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R1+11
	R2=[BP]	// QImode move
	R3=R2	// QImode move
	R2=R2+11
	R3=[bp+6]	// QImode move
	R3=[bp+6]	// QImode move
	R4=R3+2
	R3=R4	// QImode move
	R3=[R3]	// QImode move
	[bp+11]=R3	// QImode move
	R4=[bp+11]	// QImode move
	R4=R4^0xffff	// one_cmplqi2
	[bp+13]=R4	// QImode move
	R3=R2	// QImode move
	R4=[R3]	// QImode move
	R3=[bp+13]	// QImode move
	R4&=R3
	R3=R1	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,698,',0,0
	.dd LM195-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM195:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+11
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L105	//QImode NE
.debug
	.dw '.stabn 0x44,0,699,',0,0
	.dd LM196-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM196:
	R1=BP	// QImode move
	R2=BP+5
	R1=[_OSRdyGrp]	// QImode move
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	R1|=R4
	[_OSRdyGrp]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,700,',0,0
	.dd LM197-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM197:
	R1=BP	// QImode move
	R2=BP+2
	R1=_OSRdyTbl	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R2=BP	// QImode move
	R3=BP+2
	R2=_OSRdyTbl	// QImode move
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	[bp+14]=R2	// QImode move
	R2=[bp+14]	// QImode move
	R2 = R2 + R3	//addqi3
	[bp+14]=R2	// QImode move
	R3=BP	// QImode move
	R3=BP+4
	[bp+12]=R3	// QImode move
	R4=[bp+14]	// QImode move
	R2=[R4]	// QImode move
	R4=[bp+12]	// QImode move
	R4=[R4]	// QImode move
	R2|=R4
	R4=R1	// QImode move
	[R4]=R2	// QImode move
L105:
.debug
	.dw '.stabn 0x44,0,702,',0,0
	.dd LM198-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM198:
	R1=BP	// QImode move
	R2=BP+3
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3	// QImode move
	pc=L103	// Indirect jump
.debug
	.dw '.stabn 0x44,0,703,',0,0
	.dd LM199-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM199:
LBE20:
.debug
	.dw '.stabn 0x44,0,703,',0,0
	.dd LM200-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM200:
L103:

	sp+=15
	pop bp from [sp]
	retf
	.endp	// end of OS_EventTaskRdy

.debug
	.dw '.stabs "pevent:p42",160,0,0,18',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "msg:p31",160,0,0,19',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "msk:p21",160,0,0,20',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB20-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "ptcb:47",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "x:21",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "y:21",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "prio:21",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "bitx:21",128,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "bity:21",128,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE20-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME13-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LME13:
.code
.debug
	.dw '.stabs "OS_EventTaskWait:F19",36,0,0,',0,0,offset _OS_EventTaskWait,seg _OS_EventTaskWait,0x0d,0x0a
.CODE
.public _OS_EventTaskWait
_OS_EventTaskWait:	.proc
.debug
	.dw '.stabn 0x44,0,722,',0,0
	.dd LM201-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM201:
	// total=13, vars=13
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=13
	bp=sp+1

	R1=BP+16
.debug
	.dw '.stabn 0x44,0,723,',0,0
	.dd LM202-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM202:
LBB21:
.debug
	.dw '.stabn 0x44,0,726,',0,0
	.dd LM203-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM203:
	R3=[_OSTCBCur]	// QImode move
	R2=R3	// QImode move
	R3=R3+9
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,727,',0,0
	.dd LM204-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM204:
	R3=[_OSTCBCur]	// QImode move
	R2=R3	// QImode move
	R3=R3+15
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,728,',0,0
	.dd LM205-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM205:
	R2=_OSRdyTbl	// QImode move
	R3=[BP]	// QImode move
	R2 = R2 + R3	//addqi3
	R3=_OSRdyTbl	// QImode move
	R4=[BP]	// QImode move
	[bp+10]=R3	// QImode move
	R3=[bp+10]	// QImode move
	R3 = R3 + R4	//addqi3
	[bp+10]=R3	// QImode move
	R4=[_OSTCBCur]	// QImode move
	[bp+1]=R4	// QImode move
	R4=[bp+1]	// QImode move
	R3=[bp+1]	// QImode move
	R3=R3+16
	[bp+2]=R3	// QImode move
	R4=[bp+2]	// QImode move
	R4=[R4]	// QImode move
	[bp+3]=R4	// QImode move
	R3=[bp+3]	// QImode move
	R3=R3^0xffff	// one_cmplqi2
	[bp+11]=R3	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=[bp+11]	// QImode move
	R3&=R4
	R4=R2	// QImode move
	[R4]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,729,',0,0
	.dd LM206-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM206:
	R2=_OSRdyTbl	// QImode move
	R3=[BP]	// QImode move
	R2 = R2 + R3	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	CMP R3,0	// QImode test
	NSJNZ L109	//QImode NE
.debug
	.dw '.stabn 0x44,0,730,',0,0
	.dd LM207-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM207:
	R3=[_OSTCBCur]	// QImode move
	R2=R3	// QImode move
	R3=R3+17
	R2=R3	// QImode move
	R4=[R2]	// QImode move
	R2=R4^0xffff	// one_cmplqi2
	R3=[_OSRdyGrp]	// QImode move
	R3&=R2
	[_OSRdyGrp]=R3	// QImode move
L109:
.debug
	.dw '.stabn 0x44,0,732,',0,0
	.dd LM208-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM208:
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	R3=[_OSTCBCur]	// QImode move
	R4=R3	// QImode move
	R3=R3+15
	R4=R2	// QImode move
	R2=R2+4
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	[bp+12]=R2	// QImode move
	R2=[bp+12]	// QImode move
	R2 = R2 + R3	//addqi3
	[bp+12]=R2	// QImode move
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R4=[_OSTCBCur]	// QImode move
	[bp+4]=R4	// QImode move
	R4=R4+15
	[bp+5]=R3	// QImode move
	R2=R3+4
	[bp+10]=R2	// QImode move
	R3=R4	// QImode move
	R4=[R3]	// QImode move
	R2=[bp+10]	// QImode move
	[bp+10]=R2	// QImode move
	R3=[bp+10]	// QImode move
	R3 = R3 + R4	//addqi3
	[bp+10]=R3	// QImode move
	R4=[_OSTCBCur]	// QImode move
	[bp+6]=R4	// QImode move
	R4=[bp+6]	// QImode move
	R2=[bp+6]	// QImode move
	R2=R2+16
	[bp+7]=R2	// QImode move
	R3=[bp+10]	// QImode move
	R4=[R3]	// QImode move
	R3=[bp+7]	// QImode move
	R3=[R3]	// QImode move
	R4|=R3
	R3=[bp+12]	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,733,',0,0
	.dd LM209-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM209:
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	R3=R2	// QImode move
	R3=R2+3
	[bp+12]=R3	// QImode move
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R4=R3	// QImode move
	R2=R3+3
	[bp+10]=R2	// QImode move
	R3=[_OSTCBCur]	// QImode move
	[bp+8]=R3	// QImode move
	R4=[bp+8]	// QImode move
	R4=[bp+8]	// QImode move
	R4=R4+17
	[bp+9]=R4	// QImode move
	R2=[bp+10]	// QImode move
	R3=[R2]	// QImode move
	R2=[bp+9]	// QImode move
	R2=[R2]	// QImode move
	R3|=R2
	R2=[bp+12]	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,734,',0,0
	.dd LM210-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM210:
LBE21:
.debug
	.dw '.stabn 0x44,0,734,',0,0
	.dd LM211-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LM211:
L108:

	sp+=13
	pop bp from [sp]
	retf
	.endp	// end of OS_EventTaskWait

.debug
	.dw '.stabs "pevent:p42",160,0,0,16',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB21-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "y:21",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE21-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME14-_OS_EventTaskWait
	.dw 0x0d,0x0a
.code
LME14:
.code
.debug
	.dw '.stabs "OS_EventTO:F19",36,0,0,',0,0,offset _OS_EventTO,seg _OS_EventTO,0x0d,0x0a
.CODE
.public _OS_EventTO
_OS_EventTO:	.proc
.debug
	.dw '.stabn 0x44,0,753,',0,0
	.dd LM212-_OS_EventTO
	.dw 0x0d,0x0a
.code
LM212:
	// total=10, vars=10
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=10
	bp=sp+1

	R1=BP+13
.debug
	.dw '.stabn 0x44,0,754,',0,0
	.dd LM213-_OS_EventTO
	.dw 0x0d,0x0a
.code
LM213:
LBB22:
.debug
	.dw '.stabn 0x44,0,757,',0,0
	.dd LM214-_OS_EventTO
	.dw 0x0d,0x0a
.code
LM214:
	R3=[_OSTCBCur]	// QImode move
	R2=R3	// QImode move
	R3=R3+15
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,758,',0,0
	.dd LM215-_OS_EventTO
	.dw 0x0d,0x0a
.code
LM215:
	R2=R1	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R3+4
	R4=[BP]	// QImode move
	R2=R3	// QImode move
	R2 = R2 + R4	//addqi3
	R3=R1	// QImode move
	R4=[R3]	// QImode move
	R3=R4	// QImode move
	R4=R4+4
	R3=[BP]	// QImode move
	[bp+1]=R3	// QImode move
	[bp+8]=R4	// QImode move
	R4=[bp+8]	// QImode move
	R4 = R4 + [bp+1]	//addqi3
	[bp+8]=R4	// QImode move
	R3=[_OSTCBCur]	// QImode move
	[bp+2]=R3	// QImode move
	R4=[bp+2]	// QImode move
	R4=[bp+2]	// QImode move
	R4=R4+16
	[bp+3]=R4	// QImode move
	R3=[bp+3]	// QImode move
	R3=[R3]	// QImode move
	[bp+4]=R3	// QImode move
	R4=[bp+4]	// QImode move
	R4=R4^0xffff	// one_cmplqi2
	[bp+9]=R4	// QImode move
	R3=[bp+8]	// QImode move
	R4=[R3]	// QImode move
	R3=[bp+9]	// QImode move
	R4&=R3
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,759,',0,0
	.dd LM216-_OS_EventTO
	.dw 0x0d,0x0a
.code
LM216:
	R2=R1	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R3+4
	R4=[BP]	// QImode move
	R2=R3	// QImode move
	R2 = R2 + R4	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	CMP R3,0	// QImode test
	NSJNZ L112	//QImode NE
.debug
	.dw '.stabn 0x44,0,760,',0,0
	.dd LM217-_OS_EventTO
	.dw 0x0d,0x0a
.code
LM217:
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R3=R2	// QImode move
	R2=R2+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R4=R3	// QImode move
	R4=R3+3
	[bp+8]=R4	// QImode move
	R3=[_OSTCBCur]	// QImode move
	[bp+5]=R3	// QImode move
	R4=[bp+5]	// QImode move
	R4=[bp+5]	// QImode move
	R4=R4+17
	[bp+6]=R4	// QImode move
	R3=[bp+6]	// QImode move
	R3=[R3]	// 

⌨️ 快捷键说明

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