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

📄 os_time.asm

📁 此代码是ucos-II在凌阳61单片机上的移植
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	R2=R2+10
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L36	//QImode NE
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM55-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM55:
LBB8:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,176,',0,0
	.dd LM56-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM56:
	R1=80	// QImode move
	pc=L32	// Indirect jump
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM57-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM57:
LBE8:
L36:
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM58-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM58:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+10
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM59-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM59:
	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 L37	//QImode EQ
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM60-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM60:
	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,182,',0,0
	.dd LM61-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM61:
	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,183,',0,0
	.dd LM62-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM62:
	pc=L38	// Indirect jump
L37:
.debug
	.dw '.stabn 0x44,0,184,',0,0
	.dd LM63-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM63:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	R2=R2+12
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
L38:
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM64-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM64:
	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 L39	//QImode NE
.debug
	.dw '.stabn 0x44,0,187,',0,0
	.dd LM65-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM65:
LBB9:
	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,188,',0,0
	.dd LM66-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM66:
	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+2]=R2	// QImode move
	R2=[bp+2]	// QImode move
	R2 = R2 + R3	//addqi3
	[bp+2]=R2	// QImode move
	R4=[BP]	// QImode move
	R3=R4	// QImode move
	R3=R4+16
	[bp+3]=R3	// QImode move
	R4=[bp+2]	// QImode move
	R2=[R4]	// QImode move
	R4=[bp+3]	// QImode move
	R4=[R4]	// QImode move
	R2|=R4
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,189,',0,0
	.dd LM67-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM67:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,190,',0,0
	.dd LM68-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM68:
	call _OS_Sched	// call without return value
.debug
	.dw '.stabn 0x44,0,191,',0,0
	.dd LM69-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM69:
LBE9:
	pc=L40	// Indirect jump
L39:
.debug
	.dw '.stabn 0x44,0,192,',0,0
	.dd LM70-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM70:
LBB10:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,193,',0,0
	.dd LM71-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM71:
LBE10:
L40:
.debug
	.dw '.stabn 0x44,0,194,',0,0
	.dd LM72-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM72:
	R1=0	// QImode move
	pc=L32	// Indirect jump
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM73-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM73:
LBE5:
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM74-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LM74:
L32:

	sp+=4
	pop bp from [sp]
	retf
	.endp	// end of OSTimeDlyResume

.debug
	.dw '.stabs "prio:p21",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "ptcb:45=*44",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB7-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE7-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB8-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE8-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB9-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE9-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB10-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE10-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_OSTimeDlyResume
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "OSTimeGet:F25",36,0,0,',0,0,offset _OSTimeGet,seg _OSTimeGet,0x0d,0x0a
.CODE
.public _OSTimeGet
_OSTimeGet:	.proc
.debug
	.dw '.stabn 0x44,0,213,',0,0
	.dd LM75-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM75:
	// 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,214,',0,0
	.dd LM76-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM76:
LBB11:
.debug
	.dw '.stabn 0x44,0,221,',0,0
	.dd LM77-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM77:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,222,',0,0
	.dd LM78-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM78:
	//split R1, [_OSTime]
	R1=[_OSTime]	// QImode move
	R2=[_OSTime+1]	// QImode move
	//split [BP], R1
	[BP]=R1	// QImode move
	[bp+1]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,223,',0,0
	.dd LM79-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM79:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,224,',0,0
	.dd LM80-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM80:
	//split R3, [BP]
	R3=[BP]	// QImode move
	R4=[bp+1]	// QImode move
	//split R1, R3
	R1=R3	// QImode move
	R2=R4	// QImode move
	pc=L47	// Indirect jump
.debug
	.dw '.stabn 0x44,0,225,',0,0
	.dd LM81-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM81:
LBE11:
.debug
	.dw '.stabn 0x44,0,225,',0,0
	.dd LM82-_OSTimeGet
	.dw 0x0d,0x0a
.code
LM82:
L47:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB11-_OSTimeGet
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "ticks:25",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE11-_OSTimeGet
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_OSTimeGet
	.dw 0x0d,0x0a
.code
LME4:
.code
.debug
	.dw '.stabs "OSTimeSet:F19",36,0,0,',0,0,offset _OSTimeSet,seg _OSTimeSet,0x0d,0x0a
.CODE
.public _OSTimeSet
_OSTimeSet:	.proc
.debug
	.dw '.stabn 0x44,0,242,',0,0
	.dd LM83-_OSTimeSet
	.dw 0x0d,0x0a
.code
LM83:
	// total=1, vars=1
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=1
	bp=sp+1

	R1=BP+4
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,249,',0,0
	.dd LM84-_OSTimeSet
	.dw 0x0d,0x0a
.code
LM84:
LBB12:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,250,',0,0
	.dd LM85-_OSTimeSet
	.dw 0x0d,0x0a
.code
LM85:
	R3=[BP]	// QImode move
	//split R1, [R3]
	R1=[R3++]	// QImode move
	R2=[R3--]	// QImode move
	//split [_OSTime], R1
	[_OSTime]=R1	// QImode move
	[_OSTime+1]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,251,',0,0
	.dd LM86-_OSTimeSet
	.dw 0x0d,0x0a
.code
LM86:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,252,',0,0
	.dd LM87-_OSTimeSet
	.dw 0x0d,0x0a
.code
LM87:
LBE12:
.debug
	.dw '.stabn 0x44,0,252,',0,0
	.dd LM88-_OSTimeSet
	.dw 0x0d,0x0a
.code
LM88:
L48:

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

.debug
	.dw '.stabs "ticks:p25",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB12-_OSTimeSet
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE12-_OSTimeSet
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME5-_OSTimeSet
	.dw 0x0d,0x0a
.code
LME5:
.external _Critical_out
.external _Critical_in
.external _OSTime
.external _OSTCBPrioTbl
.external _OS_Sched
.external _OSRdyGrp
.external _OSRdyTbl
.external _OSTCBCur
.external __divu2
.external __lshiu2
	.end

⌨️ 快捷键说明

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