📄 os_sem.asm
字号:
R1=BP+4
[BP]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,279,',0,0
.dd LM94-_OSSemPend
.dw 0x0d,0x0a
.code
LM94:
LBB8:
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 L45 //QImode NE
.debug
.dw '.stabn 0x44,0,280,',0,0
.dd LM95-_OSSemPend
.dw 0x0d,0x0a
.code
LM95:
pc=L44 // Indirect jump
L45:
.debug
.dw '.stabn 0x44,0,282,',0,0
.dd LM96-_OSSemPend
.dw 0x0d,0x0a
.code
LM96:
R2=[BP] // QImode move
R1=[R2] // QImode move
CMP R1,0 // QImode test
NSJNZ L46 //QImode NE
.debug
.dw '.stabn 0x44,0,283,',0,0
.dd LM97-_OSSemPend
.dw 0x0d,0x0a
.code
LM97:
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,284,',0,0
.dd LM98-_OSSemPend
.dw 0x0d,0x0a
.code
LM98:
pc=L44 // Indirect jump
L46:
.debug
.dw '.stabn 0x44,0,287,',0,0
.dd LM99-_OSSemPend
.dw 0x0d,0x0a
.code
LM99:
R4=[BP] // QImode move
R1=[R4] // QImode move
R3=R1 // QImode move
R2=[R3] // QImode move
CMP R2,3 // QImode compare
NSJZ L47 //QImode EQ
.debug
.dw '.stabn 0x44,0,288,',0,0
.dd LM100-_OSSemPend
.dw 0x0d,0x0a
.code
LM100:
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,289,',0,0
.dd LM101-_OSSemPend
.dw 0x0d,0x0a
.code
LM101:
pc=L44 // Indirect jump
L47:
.debug
.dw '.stabn 0x44,0,291,',0,0
.dd LM102-_OSSemPend
.dw 0x0d,0x0a
.code
LM102:
R1=[_OSIntNesting] // QImode move
CMP R1,0 // QImode test
NSJZ L48 //QImode EQ
.debug
.dw '.stabn 0x44,0,292,',0,0
.dd LM103-_OSSemPend
.dw 0x0d,0x0a
.code
LM103:
R1=[BP] // QImode move
R1=[BP] // QImode move
R2=R1+2
R3=R2 // QImode move
R1=[R3] // QImode move
R2=2 // QImode move
R4=R1 // QImode move
[R4]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,293,',0,0
.dd LM104-_OSSemPend
.dw 0x0d,0x0a
.code
LM104:
pc=L44 // Indirect jump
L48:
.debug
.dw '.stabn 0x44,0,295,',0,0
.dd LM105-_OSSemPend
.dw 0x0d,0x0a
.code
LM105:
call _Critical_in // call with return value
.debug
.dw '.stabn 0x44,0,296,',0,0
.dd LM106-_OSSemPend
.dw 0x0d,0x0a
.code
LM106:
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 L49 //QImode EQ
.debug
.dw '.stabn 0x44,0,297,',0,0
.dd LM107-_OSSemPend
.dw 0x0d,0x0a
.code
LM107:
LBB9:
R4=[BP] // QImode move
R2=[R4] // QImode move
R1=R2 // QImode move
R2=R2+2
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=R1 // QImode move
R1=R1+2
R4=[BP] // QImode move
R3=[R4] // QImode move
R2=R3 // QImode move
R3=R3+2
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+(-1)
R2=R1 // QImode move
[R2]=R3 // QImode move
.debug
.dw '.stabn 0x44,0,298,',0,0
.dd LM108-_OSSemPend
.dw 0x0d,0x0a
.code
LM108:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,299,',0,0
.dd LM109-_OSSemPend
.dw 0x0d,0x0a
.code
LM109:
R1=[BP] // QImode move
R3=[BP] // QImode move
R2=R3+2
R4=R2 // QImode move
R1=[R4] // QImode move
R2=0 // QImode move
R3=R1 // QImode move
[R3]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,300,',0,0
.dd LM110-_OSSemPend
.dw 0x0d,0x0a
.code
LM110:
pc=L44 // Indirect jump
.debug
.dw '.stabn 0x44,0,301,',0,0
.dd LM111-_OSSemPend
.dw 0x0d,0x0a
.code
LM111:
LBE9:
L49:
.debug
.dw '.stabn 0x44,0,303,',0,0
.dd LM112-_OSSemPend
.dw 0x0d,0x0a
.code
LM112:
R1=[_OSTCBCur] // QImode move
R2=R1 // QImode move
R1=R1+11
R3=[_OSTCBCur] // QImode move
R2=R3 // QImode move
R3=R3+11
R4=R3 // QImode move
R4=[R4] // QImode move
R2=R4|1
R4=R1 // QImode move
[R4]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,304,',0,0
.dd LM113-_OSSemPend
.dw 0x0d,0x0a
.code
LM113:
R2=[_OSTCBCur] // QImode move
R1=R2 // QImode move
R2=R2+12
R1=0 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,305,',0,0
.dd LM114-_OSSemPend
.dw 0x0d,0x0a
.code
LM114:
R1=[_OSTCBCur] // QImode move
R2=R1 // QImode move
R1=R1+10
R2=[BP] // QImode move
R4=[BP] // 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,306,',0,0
.dd LM115-_OSSemPend
.dw 0x0d,0x0a
.code
LM115:
R4=[BP] // QImode move
R1=[R4] // QImode move
[SP--]=R1 // QImode move
call _OS_EventTaskWait // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,307,',0,0
.dd LM116-_OSSemPend
.dw 0x0d,0x0a
.code
LM116:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,308,',0,0
.dd LM117-_OSSemPend
.dw 0x0d,0x0a
.code
LM117:
call _OS_Sched // call without return value
.debug
.dw '.stabn 0x44,0,309,',0,0
.dd LM118-_OSSemPend
.dw 0x0d,0x0a
.code
LM118:
call _Critical_in // call with return value
.debug
.dw '.stabn 0x44,0,310,',0,0
.dd LM119-_OSSemPend
.dw 0x0d,0x0a
.code
LM119:
R2=[_OSTCBCur] // QImode move
R1=R2 // QImode move
R2=R2+12
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,1 // QImode compare
NSJNZ L50 //QImode NE
.debug
.dw '.stabn 0x44,0,311,',0,0
.dd LM120-_OSSemPend
.dw 0x0d,0x0a
.code
LM120:
R4=[BP] // QImode move
R1=[R4] // QImode move
[SP--]=R1 // QImode move
call _OS_EventTO // call without return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,312,',0,0
.dd LM121-_OSSemPend
.dw 0x0d,0x0a
.code
LM121:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,313,',0,0
.dd LM122-_OSSemPend
.dw 0x0d,0x0a
.code
LM122:
R1=[BP] // QImode move
R1=[BP] // QImode move
R2=R1+2
R3=R2 // QImode move
R1=[R3] // QImode move
R2=10 // QImode move
R4=R1 // QImode move
[R4]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,314,',0,0
.dd LM123-_OSSemPend
.dw 0x0d,0x0a
.code
LM123:
pc=L44 // Indirect jump
L50:
.debug
.dw '.stabn 0x44,0,316,',0,0
.dd LM124-_OSSemPend
.dw 0x0d,0x0a
.code
LM124:
R2=[_OSTCBCur] // QImode move
R1=R2 // QImode move
R2=R2+9
R1=0 // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,317,',0,0
.dd LM125-_OSSemPend
.dw 0x0d,0x0a
.code
LM125:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,318,',0,0
.dd LM126-_OSSemPend
.dw 0x0d,0x0a
.code
LM126:
R1=[BP] // QImode move
R4=[BP] // QImode move
R2=R4+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,319,',0,0
.dd LM127-_OSSemPend
.dw 0x0d,0x0a
.code
LM127:
LBE8:
.debug
.dw '.stabn 0x44,0,319,',0,0
.dd LM128-_OSSemPend
.dw 0x0d,0x0a
.code
LM128:
L44:
sp+=1
pop bp from [sp]
retf
.endp // end of OSSemPend
.debug
.dw '.stabs "pevent:p42",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabs "timeout: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 LBB8-_OSSemPend
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB9-_OSSemPend
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE9-_OSSemPend
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE8-_OSSemPend
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME4-_OSSemPend
.dw 0x0d,0x0a
.code
LME4:
.code
.debug
.dw '.stabs "OSSemPost:F21",36,0,0,',0,0,offset _OSSemPost,seg _OSSemPost,0x0d,0x0a
.CODE
.public _OSSemPost
_OSSemPost: .proc
.debug
.dw '.stabn 0x44,0,340,',0,0
.dd LM129-_OSSemPost
.dw 0x0d,0x0a
.code
LM129:
// 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,348,',0,0
.dd LM130-_OSSemPost
.dw 0x0d,0x0a
.code
LM130:
LBB10:
R2=[BP] // QImode move
R1=[R2] // QImode move
CMP R1,0 // QImode test
NSJNZ L58 //QImode NE
.debug
.dw '.stabn 0x44,0,349,',0,0
.dd LM131-_OSSemPost
.dw 0x0d,0x0a
.code
LM131:
R1=4 // QImode move
pc=L57 // Indirect jump
L58:
.debug
.dw '.stabn 0x44,0,352,',0,0
.dd LM132-_OSSemPost
.dw 0x0d,0x0a
.code
LM132:
R3=[BP] // QImode move
R1=[R3] // QImode move
R4=R1 // QImode move
R2=[R4] // QImode move
CMP R2,3 // QImode compare
NSJZ L59 //QImode EQ
.debug
.dw '.stabn 0x44,0,353,',0,0
.dd LM133-_OSSemPost
.dw 0x0d,0x0a
.code
LM133:
R1=1 // QImode move
pc=L57 // Indirect jump
L59:
.debug
.dw '.stabn 0x44,0,355,',0,0
.dd LM134-_OSSemPost
.dw 0x0d,0x0a
.code
LM134:
call _Critical_in // call with return value
.debug
.dw '.stabn 0x44,0,356,',0,0
.dd LM135-_OSSemPost
.dw 0x0d,0x0a
.code
LM135:
R1=[BP] // QImode move
R2=[R1] // QImode move
R1=R2 // QImode move
R2=R2+3
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,0 // QImode test
NSJZ L60 //QImode EQ
.debug
.dw '.stabn 0x44,0,357,',0,0
.dd LM136-_OSSemPost
.dw 0x0d,0x0a
.code
LM136:
LBB11:
R1=1 // QImode move
[SP--]=R1 // QImode move
R1=0 // QImode move
[SP--]=R1 // QImode move
R4=[BP] // QImode move
R1=[R4] // QImode move
[SP--]=R1 // QImode move
call _OS_EventTaskRdy // call with return value
SP = SP + 3 //SP
.debug
.dw '.stabn 0x44,0,358,',0,0
.dd LM137-_OSSemPost
.dw 0x0d,0x0a
.code
LM137:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,359,',0,0
.dd LM138-_OSSemPost
.dw 0x0d,0x0a
.code
LM138:
call _OS_Sched // call without return value
.debug
.dw '.stabn 0x44,0,360,',0,0
.dd LM139-_OSSemPost
.dw 0x0d,0x0a
.code
LM139:
R1=0 // QImode move
pc=L57 // Indirect jump
.debug
.dw '.stabn 0x44,0,361,',0,0
.dd LM140-_OSSemPost
.dw 0x0d,0x0a
.code
LM140:
LBE11:
L60:
.debug
.dw '.stabn 0x44,0,362,',0,0
.dd LM141-_OSSemPost
.dw 0x0d,0x0a
.code
LM141:
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,(-2) // QImode compare
NSJA L61 //QImode GTU
.debug
.dw '.stabn 0x44,0,363,',0,0
.dd LM142-_OSSemPost
.dw 0x0d,0x0a
.code
LM142:
LBB12:
R4=[BP] // QImode move
R2=[R4] // QImode move
R1=R2 // QImode move
R2=R2+2
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=R1 // QImode move
R1=R1+2
R4=[BP] // QImode move
R3=[R4] // QImode move
R2=R3 // QImode move
R3=R3+2
R4=R3 // QImode move
R2=[R4] // QImode move
R3=R2+1
R2=R1 // QImode move
[R2]=R3 // QImode move
.debug
.dw '.stabn 0x44,0,364,',0,0
.dd LM143-_OSSemPost
.dw 0x0d,0x0a
.code
LM143:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,365,',0,0
.dd LM144-_OSSemPost
.dw 0x0d,0x0a
.code
LM144:
R1=0 // QImode move
pc=L57 // Indirect jump
.debug
.dw '.stabn 0x44,0,366,',0,0
.dd LM145-_OSSemPost
.dw 0x0d,0x0a
.code
LM145:
LBE12:
L61:
.debug
.dw '.stabn 0x44,0,367,',0,0
.dd LM146-_OSSemPost
.dw 0x0d,0x0a
.code
LM146:
call _Critical_out // call with return value
.debug
.dw '.stabn 0x44,0,368,',0,0
.dd LM147-_OSSemPost
.dw 0x0d,0x0a
.code
LM147:
R1=50 // QImode move
pc=L57 // Indirect jump
.debug
.dw '.stabn 0x44,0,369,',0,0
.dd LM148-_OSSemPost
.dw 0x0d,0x0a
.code
LM148:
LBE10:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -