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

📄 os_sem.asm

📁 此代码是ucos-II在凌阳61单片机上的移植
💻 ASM
📖 第 1 页 / 共 4 页
字号:
.debug
	.dw '.stabn 0x44,0,369,',0,0
	.dd LM149-_OSSemPost
	.dw 0x0d,0x0a
.code
LM149:
L57:

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

.debug
	.dw '.stabs "pevent:p42",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB10-_OSSemPost
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB11-_OSSemPost
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE11-_OSSemPost
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB12-_OSSemPost
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE12-_OSSemPost
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE10-_OSSemPost
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME5-_OSSemPost
	.dw 0x0d,0x0a
.code
LME5:
.code
.debug
	.dw '.stabs "OSSemQuery:F21",36,0,0,',0,0,offset _OSSemQuery,seg _OSSemQuery,0x0d,0x0a
.CODE
.public _OSSemQuery
_OSSemQuery:	.proc
.debug
	.dw '.stabn 0x44,0,392,',0,0
	.dd LM150-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM150:
	// total=6, vars=6
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=6
	bp=sp+1

	R1=BP+9
	[bp+3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,394,',0,0
	.dd LM151-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM151:
LBB13:
.debug
	.dw '.stabn 0x44,0,408,',0,0
	.dd LM152-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM152:
	R2=[bp+3]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L67	//QImode NE
.debug
	.dw '.stabn 0x44,0,409,',0,0
	.dd LM153-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM153:
	R1=4	// QImode move
	pc=L66	// Indirect jump
L67:
.debug
	.dw '.stabn 0x44,0,411,',0,0
	.dd LM154-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM154:
	R1=[bp+3]	// QImode move
	R3=[bp+3]	// QImode move
	R2=R3+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L68	//QImode NE
.debug
	.dw '.stabn 0x44,0,412,',0,0
	.dd LM155-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM155:
	R1=9	// QImode move
	pc=L66	// Indirect jump
L68:
.debug
	.dw '.stabn 0x44,0,415,',0,0
	.dd LM156-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM156:
	R2=[bp+3]	// QImode move
	R1=[R2]	// QImode move
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	CMP R2,3	// QImode compare
	NSJZ L69	//QImode EQ
.debug
	.dw '.stabn 0x44,0,416,',0,0
	.dd LM157-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM157:
	R1=1	// QImode move
	pc=L66	// Indirect jump
L69:
.debug
	.dw '.stabn 0x44,0,418,',0,0
	.dd LM158-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM158:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,419,',0,0
	.dd LM159-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM159:
	R1=[bp+3]	// QImode move
	R4=[bp+3]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=R1	// QImode move
	R1=R1+5
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R2=R3	// QImode move
	R3=R3+3
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,420,',0,0
	.dd LM160-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM160:
	R4=[bp+3]	// QImode move
	R1=[R4]	// QImode move
	R2=R1+4
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,421,',0,0
	.dd LM161-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM161:
	R2=BP	// QImode move
	R1=BP+1
	R2=[bp+3]	// QImode move
	R2=[bp+3]	// QImode move
	R3=R2+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,422,',0,0
	.dd LM162-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM162:
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L70:
	R1=BP	// QImode move
	R2=BP+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,3	// QImode compare
	NSJNA L73	//QImode LEU
	pc=L71	// Indirect jump
L73:
.debug
	.dw '.stabn 0x44,0,423,',0,0
	.dd LM163-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM163:
	R2=BP	// QImode move
	R1=BP+1
	[bp+5]=R1	// QImode move
	R3=[bp+5]	// QImode move
	R2=[R3]	// QImode move
	R3=[BP]	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[bp+4]=R4	// QImode move
	R1=[bp+4]	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
	R3=R3+1
	[BP]=R3	// QImode move
	R2=R2+1
	R1=[bp+5]	// QImode move
	[R1]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,422,',0,0
	.dd LM164-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM164:
L72:
	R1=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
	pc=L70	// Indirect jump
L71:
.debug
	.dw '.stabn 0x44,0,425,',0,0
	.dd LM165-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM165:
	R1=[bp+3]	// QImode move
	R3=[bp+3]	// QImode move
	R2=R3+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=[bp+3]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R3+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,426,',0,0
	.dd LM166-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM166:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,427,',0,0
	.dd LM167-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM167:
	R1=0	// QImode move
	pc=L66	// Indirect jump
.debug
	.dw '.stabn 0x44,0,428,',0,0
	.dd LM168-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM168:
LBE13:
.debug
	.dw '.stabn 0x44,0,428,',0,0
	.dd LM169-_OSSemQuery
	.dw 0x0d,0x0a
.code
LM169:
L66:

	sp+=6
	pop bp from [sp]
	retf
	.endp	// end of OSSemQuery

.debug
	.dw '.stabs "pevent:p42",160,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "p_sem_data:p46=*36",160,0,0,10',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB13-_OSSemQuery
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "psrc:45",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "pdest:45",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "i:21",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE13-_OSSemQuery
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME6-_OSSemQuery
	.dw 0x0d,0x0a
.code
LME6:
.code
.debug
	.dw '.stabs "OSSemSet:F19",36,0,0,',0,0,offset _OSSemSet,seg _OSSemSet,0x0d,0x0a
.CODE
.public _OSSemSet
_OSSemSet:	.proc
.debug
	.dw '.stabn 0x44,0,458,',0,0
	.dd LM170-_OSSemSet
	.dw 0x0d,0x0a
.code
LM170:
	// 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,466,',0,0
	.dd LM171-_OSSemSet
	.dw 0x0d,0x0a
.code
LM171:
LBB14:
	R1=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L79	//QImode NE
.debug
	.dw '.stabn 0x44,0,467,',0,0
	.dd LM172-_OSSemSet
	.dw 0x0d,0x0a
.code
LM172:
	pc=L78	// Indirect jump
L79:
.debug
	.dw '.stabn 0x44,0,469,',0,0
	.dd LM173-_OSSemSet
	.dw 0x0d,0x0a
.code
LM173:
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L80	//QImode NE
.debug
	.dw '.stabn 0x44,0,470,',0,0
	.dd LM174-_OSSemSet
	.dw 0x0d,0x0a
.code
LM174:
	R1=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=4	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,471,',0,0
	.dd LM175-_OSSemSet
	.dw 0x0d,0x0a
.code
LM175:
	pc=L78	// Indirect jump
L80:
.debug
	.dw '.stabn 0x44,0,474,',0,0
	.dd LM176-_OSSemSet
	.dw 0x0d,0x0a
.code
LM176:
	R4=[BP]	// QImode move
	R1=[R4]	// QImode move
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	CMP R2,3	// QImode compare
	NSJZ L81	//QImode EQ
.debug
	.dw '.stabn 0x44,0,475,',0,0
	.dd LM177-_OSSemSet
	.dw 0x0d,0x0a
.code
LM177:
	R1=[BP]	// QImode move
	R4=[BP]	// QImode move
	R2=R4+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=1	// QImode move
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,476,',0,0
	.dd LM178-_OSSemSet
	.dw 0x0d,0x0a
.code
LM178:
	pc=L78	// Indirect jump
L81:
.debug
	.dw '.stabn 0x44,0,478,',0,0
	.dd LM179-_OSSemSet
	.dw 0x0d,0x0a
.code
LM179:
	call _Critical_in	// call with return value
.debug
	.dw '.stabn 0x44,0,479,',0,0
	.dd LM180-_OSSemSet
	.dw 0x0d,0x0a
.code
LM180:
	R1=[BP]	// QImode move
	R1=[BP]	// QImode move
	R2=R1+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=0	// QImode move
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,480,',0,0
	.dd LM181-_OSSemSet
	.dw 0x0d,0x0a
.code
LM181:
	R1=[BP]	// QImode move
	R2=[R1]	// QImode move
	R1=R2	// QImode move
	R2=R2+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L82	//QImode EQ
.debug
	.dw '.stabn 0x44,0,481,',0,0
	.dd LM182-_OSSemSet
	.dw 0x0d,0x0a
.code
LM182:
	R4=[BP]	// QImode move
	R1=[R4]	// QImode move
	R2=R1	// QImode move
	R1=R1+2
	R2=[BP]	// QImode move
	R2=[BP]	// QImode move
	R3=R2+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,482,',0,0
	.dd LM183-_OSSemSet
	.dw 0x0d,0x0a
.code
LM183:
	pc=L83	// Indirect jump
L82:
.debug
	.dw '.stabn 0x44,0,483,',0,0
	.dd LM184-_OSSemSet
	.dw 0x0d,0x0a
.code
LM184:
	R4=[BP]	// QImode move
	R2=[R4]	// QImode move
	R1=R2	// QImode move
	R2=R2+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L84	//QImode NE
.debug
	.dw '.stabn 0x44,0,484,',0,0
	.dd LM185-_OSSemSet
	.dw 0x0d,0x0a
.code
LM185:
	R4=[BP]	// QImode move
	R1=[R4]	// QImode move
	R2=R1	// QImode move
	R1=R1+2
	R2=[BP]	// QImode move
	R2=[BP]	// QImode move
	R3=R2+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,485,',0,0
	.dd LM186-_OSSemSet
	.dw 0x0d,0x0a
.code
LM186:
	pc=L83	// Indirect jump
L84:
.debug
	.dw '.stabn 0x44,0,486,',0,0
	.dd LM187-_OSSemSet
	.dw 0x0d,0x0a
.code
LM187:
	R1=[BP]	// QImode move
	R4=[BP]	// QImode move
	R2=R4+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	R2=8	// QImode move
	R4=R1	// QImode move
	[R4]=R2	// QImode move
L85:
L83:
.debug
	.dw '.stabn 0x44,0,489,',0,0
	.dd LM188-_OSSemSet
	.dw 0x0d,0x0a
.code
LM188:
	call _Critical_out	// call with return value
.debug
	.dw '.stabn 0x44,0,490,',0,0
	.dd LM189-_OSSemSet
	.dw 0x0d,0x0a
.code
LM189:
LBE14:
.debug
	.dw '.stabn 0x44,0,490,',0,0
	.dd LM190-_OSSemSet
	.dw 0x0d,0x0a
.code
LM190:
L78:

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

.debug
	.dw '.stabs "pevent:p42",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "cnt:p23",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "err:p45",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB14-_OSSemSet
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE14-_OSSemSet
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME7-_OSSemSet
	.dw 0x0d,0x0a
.code
LME7:
.external _Critical_out
.external _Critical_in
.external _OS_EventTO
.external _OS_EventTaskWait
.external _OSTCBCur
.external _OS_Sched
.external _OS_EventTaskRdy
.external _OS_EventWaitListInit
.external _OSEventFreeList
.external _OSIntNesting
	.end

⌨️ 快捷键说明

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