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

📄 os_core.asm

📁 此代码是ucos-II在凌阳61单片机上的移植
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	[_OSStatRdy]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,496,',0,0
	.dd LM132-_OSStatInit
	.dw 0x0d,0x0a
.code
LM132:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,497,',0,0
	.dd LM133-_OSStatInit
	.dw 0x0d,0x0a
.code
LM133:
LBE18:
.debug
	.dw '.stabn 0x44,0,497,',0,0
	.dd LM134-_OSStatInit
	.dw 0x0d,0x0a
.code
LM134:
L73:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of OSStatInit

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB18-_OSStatInit
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE18-_OSStatInit
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME9-_OSStatInit
	.dw 0x0d,0x0a
.code
LME9:
.code
.debug
	.dw '.stabs "OSTimeTick:F19",36,0,0,',0,0,offset _OSTimeTick,seg _OSTimeTick,0x0d,0x0a
.CODE
.public _OSTimeTick
_OSTimeTick:	.proc
.debug
	.dw '.stabn 0x44,0,515,',0,0
	.dd LM135-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM135:
	// total=5, vars=5
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=5
	bp=sp+1

	R1=BP+8
	[bp+2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,516,',0,0
	.dd LM136-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM136:
LBB19:
.debug
	.dw '.stabn 0x44,0,527,',0,0
	.dd LM137-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM137:
	call _OSTimeTickHook	// call without return value
.debug
	.dw '.stabn 0x44,0,530,',0,0
	.dd LM138-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM138:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,531,',0,0
	.dd LM139-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM139:
	//split R1, [_OSTime]
	R1=[_OSTime]	// QImode move
	R2=[_OSTime+1]	// QImode move
	R3=R1+1	// HImode RD=RS+#IMM16
	R4=R2+0, Carry
	//split [_OSTime], R3
	[_OSTime]=R3	// QImode move
	[_OSTime+1]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,532,',0,0
	.dd LM140-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM140:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,534,',0,0
	.dd LM141-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM141:
	R1=[_OSRunning]	// QImode move
	CMP R1,1	// QImode compare
	NSJNZ L75	//QImode NE
.debug
	.dw '.stabn 0x44,0,536,',0,0
	.dd LM142-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM142:
	R1=[_OSTickStepState]	// QImode move
	CMP R1,1	// QImode compare
	NSJZ L78	//QImode EQ
	CMP R1,1	// QImode compare
	NSJB L77	//QImode LTU
	CMP R1,2	// QImode compare
	NSJZ L79	//QImode EQ
	pc=L80	// Indirect jump
L77:
.debug
	.dw '.stabn 0x44,0,538,',0,0
	.dd LM143-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM143:
	R1=BP	// QImode move
	R2=BP+1
	R1=1	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,539,',0,0
	.dd LM144-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM144:
	pc=L76	// Indirect jump
L78:
.debug
	.dw '.stabn 0x44,0,542,',0,0
	.dd LM145-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM145:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,543,',0,0
	.dd LM146-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM146:
	pc=L76	// Indirect jump
L79:
.debug
	.dw '.stabn 0x44,0,546,',0,0
	.dd LM147-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM147:
	R1=BP	// QImode move
	R2=BP+1
	R1=1	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,547,',0,0
	.dd LM148-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM148:
	R1=1	// QImode move
	[_OSTickStepState]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,548,',0,0
	.dd LM149-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM149:
	pc=L76	// Indirect jump
L80:
.debug
	.dw '.stabn 0x44,0,551,',0,0
	.dd LM150-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM150:
	R1=BP	// QImode move
	R2=BP+1
	R1=1	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,552,',0,0
	.dd LM151-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM151:
	R1=0	// QImode move
	[_OSTickStepState]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,553,',0,0
	.dd LM152-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM152:
	pc=L76	// Indirect jump
L76:
.debug
	.dw '.stabn 0x44,0,555,',0,0
	.dd LM153-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM153:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L82	//QImode NE
.debug
	.dw '.stabn 0x44,0,556,',0,0
	.dd LM154-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM154:
	pc=L74	// Indirect jump
L82:
.debug
	.dw '.stabn 0x44,0,559,',0,0
	.dd LM155-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM155:
	R1=[_OSTCBList]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,560,',0,0
	.dd LM156-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM156:
L83:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+13
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,25	// QImode compare
	NSJNZ L85	//QImode NE
	pc=L75	// Indirect jump
L85:
.debug
	.dw '.stabn 0x44,0,561,',0,0
	.dd LM157-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM157:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,562,',0,0
	.dd LM158-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM158:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+10
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L86	//QImode EQ
.debug
	.dw '.stabn 0x44,0,563,',0,0
	.dd LM159-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM159:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+10
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R1+10
	R3=[BP]	// QImode move
	R2=R3	// QImode move
	R3=R3+10
	R2=R3	// QImode move
	R4=[R2]	// QImode move
	R2=R4+(-1)
	R3=R2	// QImode move
	R4=R1	// QImode move
	[R4]=R3	// QImode move
	CMP R3,0	// QImode test
	NSJNZ L86	//QImode NE
.debug
	.dw '.stabn 0x44,0,565,',0,0
	.dd LM160-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM160:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+11
	R3=R2	// QImode move
	R3=[R3]	// QImode move
	R1=R3&55
	CMP R1,0	// QImode test
	NSJZ L88	//QImode EQ
.debug
	.dw '.stabn 0x44,0,566,',0,0
	.dd LM161-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM161:
	R1=[BP]	// QImode move
	R2=R1	// QImode move
	R1=R1+11
	R3=[BP]	// QImode move
	R2=R3	// QImode move
	R3=R3+11
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	R2=R4&(-56)
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,567,',0,0
	.dd LM162-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM162:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+12
	R1=1	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,568,',0,0
	.dd LM163-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM163:
	pc=L89	// Indirect jump
L88:
.debug
	.dw '.stabn 0x44,0,569,',0,0
	.dd LM164-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM164:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+12
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
L89:
.debug
	.dw '.stabn 0x44,0,572,',0,0
	.dd LM165-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM165:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+11
	R3=R2	// QImode move
	R3=[R3]	// QImode move
	R1=R3&8
	CMP R1,0	// QImode test
	NSJNZ L86	//QImode NE
.debug
	.dw '.stabn 0x44,0,573,',0,0
	.dd LM166-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM166:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+17
	R1=[_OSRdyGrp]	// QImode move
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	R1|=R4
	[_OSRdyGrp]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,574,',0,0
	.dd LM167-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM167:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+15
	R1=_OSRdyTbl	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	R1 = R1 + R2	//addqi3
	R3=[BP]	// QImode move
	R2=R3	// QImode move
	R3=R3+15
	R2=_OSRdyTbl	// QImode move
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	[bp+3]=R2	// QImode move
	R2=[bp+3]	// QImode move
	R2 = R2 + R3	//addqi3
	[bp+3]=R2	// QImode move
	R4=[BP]	// QImode move
	R3=R4	// QImode move
	R3=R4+16
	[bp+4]=R3	// QImode move
	R4=[bp+3]	// QImode move
	R2=[R4]	// QImode move
	R4=[bp+4]	// QImode move
	R4=[R4]	// QImode move
	R2|=R4
	R4=R1	// QImode move
	[R4]=R2	// QImode move
L90:
L87:
L86:
.debug
	.dw '.stabn 0x44,0,578,',0,0
	.dd LM168-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM168:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+7
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,579,',0,0
	.dd LM169-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM169:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,580,',0,0
	.dd LM170-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM170:
	pc=L83	// Indirect jump
L84:
L75:
.debug
	.dw '.stabn 0x44,0,582,',0,0
	.dd LM171-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM171:
LBE19:
.debug
	.dw '.stabn 0x44,0,582,',0,0
	.dd LM172-_OSTimeTick
	.dw 0x0d,0x0a
.code
LM172:
L74:

	sp+=5
	pop bp from [sp]
	retf
	.endp	// end of OSTimeTick

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB19-_OSTimeTick
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "ptcb:47",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "step:20",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE19-_OSTimeTick
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME10-_OSTimeTick
	.dw 0x0d,0x0a
.code
LME10:
.code
.debug
	.dw '.stabs "OSVersion:F23",36,0,0,',0,0,offset _OSVersion,seg _OSVersion,0x0d,0x0a
.CODE
.public _OSVersion
_OSVersion:	.proc
.debug
	.dw '.stabn 0x44,0,599,',0,0
	.dd LM173-_OSVersion
	.dw 0x0d,0x0a
.code
LM173:
	// total=0, vars=0
	// frame_pointer_needed: 1
	push bp to [sp]
	bp=sp+1

	R2=BP+3
.debug
	.dw '.stabn 0x44,0,600,',0,0
	.dd LM174-_OSVersion
	.dw 0x0d,0x0a
.code
LM174:
	R1=280	// QImode move
	pc=L101	// Indirect jump
.debug
	.dw '.stabn 0x44,0,601,',0,0
	.dd LM175-_OSVersion
	.dw 0x0d,0x0a
.code
LM175:
.debug
	.dw '.stabn 0x44,0,601,',0,0
	.dd LM176-_OSVersion
	.dw 0x0d,0x0a
.code
LM176:
L101:

	pop bp from [sp]
	retf
	.endp	// end of OSVersion

.debug
	.dw '.stabf ',0,0
	.dd LME11-_OSVersion
	.dw 0x0d,0x0a
.code
LME11:
.code
.debug
	.dw '.stabs "OS_Dummy:F19",36,0,0,',0,0,offset _OS_Dummy,seg _OS_Dummy,0x0d,0x0a
.CODE
.public _OS_Dummy
_OS_Dummy:	.proc
.debug
	.dw '.stabn 0x44,0,618,',0,0
	.dd LM177-_OS_Dummy
	.dw 0x0d,0x0a
.code
LM177:
	// total=0, vars=0
	// frame_pointer_needed: 1
	push bp to [sp]
	bp=sp+1

	R1=BP+3
.debug
	.dw '.stabn 0x44,0,619,',0,0
	.dd LM178-_OS_Dummy
	.dw 0x0d,0x0a
.code
LM178:
L102:

	pop bp from [sp]
	retf
	.endp	// end of OS_Dummy

.debug
	.dw '.stabf ',0,0
	.dd LME12-_OS_Dummy
	.dw 0x0d,0x0a
.code
LME12:
.code
.debug
	.dw '.stabs "OS_EventTaskRdy:F21",36,0,0,',0,0,offset _OS_EventTaskRdy,seg _OS_EventTaskRdy,0x0d,0x0a
.CODE
.public _OS_EventTaskRdy
_OS_EventTaskRdy:	.proc
.debug
	.dw '.stabn 0x44,0,646,',0,0
	.dd LM179-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM179:
	// total=15, vars=15
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=15
	bp=sp+1

	R1=BP+18
	[bp+6]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,647,',0,0
	.dd LM180-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM180:
LBB20:
.debug
	.dw '.stabn 0x44,0,662,',0,0
	.dd LM181-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM181:
	R2=BP	// QImode move
	R1=BP+2
	R2=[bp+6]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R3+3
	R2=_OSUnMapTbl	// QImode move
	R4=R3	// 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,663,',0,0
	.dd LM182-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM182:
	R1=BP	// QImode move
	R3=BP+5
	[bp+7]=R3	// QImode move
	R1=BP	// QImode move
	R2=BP+2
	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+7]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,664,',0,0
	.dd LM183-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM183:
	R2=BP	// QImode move
	R1=BP+1
	R3=[bp+6]	// QImode move
	R2=[R3]	// 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=_OSUnMapTbl	// QImode move
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	[bp+12]=R4	// QImode move
	R2=R3	// QImode move
	R2 = R2 + [bp+12]	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,665,',0,0
	.dd LM184-_OS_EventTaskRdy
	.dw 0x0d,0x0a
.code
LM184:
	R1=BP	// QImode move
	R3=BP+4

⌨️ 快捷键说明

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