📄 os_core.asm
字号:
[_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 + -