📄 cost.asm
字号:
call _Cal_GetHour // call with return value
R2=BP // QImode move
R3=BP+2
R2=R3 // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,257,',0,0
.dd LM114-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM114:
R1=[_uiNightRun] // QImode move
CMP R1,0 // QImode test
JNZ L78 // QImode EQ
PC=L63
L78:
.debug
.dw '.stabn 0x44,0,259,',0,0
.dd LM115-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM115:
R1=[BP++] // RD=[RS] HFmode, RD!=RS
R2=[BP--]
R3=[_fRevMilegePoint] // HFmode RD=[Label]
R4=[_fRevMilegePoint+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __subf2 // call with return value
SP=SP+4
R3=[_fNightMilege] // HFmode RD=[Label]
R4=[_fNightMilege+1]
push R1,R2 to [sp] // pushhf
push R3,R4 to [sp] // pushhf
call __addf2 // call with return value
SP=SP+4
[_fNightMilege]=R1 // HFmode [Label]=RS
[_fNightMilege+1]=R2
.debug
.dw '.stabn 0x44,0,260,',0,0
.dd LM116-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM116:
R1=BP // QImode move
R2=BP+2
R3=R2 // QImode move
R1=[R3] // QImode move
CMP R1,[_c_uiNightTime1] // QImode compare
JB L79 // QImode GEU
PC=L64
L79:
R1=BP // QImode move
R2=BP+2
R4=R2 // QImode move
R1=[R4] // QImode move
CMP R1,[_c_uiNightTime2] // QImode compare
JNB L80 // QImode LTU
PC=L64
L80:
.debug
.dw '.stabn 0x44,0,262,',0,0
.dd LM117-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM117:
R1=[_fNightMilege] // HFmode RD=[Label]
R2=[_fNightMilege+1]
R3=0 // HFmode immediate to register move
R4=0
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __cmpf2 // call with return value
SP=SP+4
CMP R1,1 // QImode compare
JL L81 // QImode GE
PC=L65
L81:
.debug
.dw '.stabn 0x44,0,264,',0,0
.dd LM118-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM118:
R1=[_fNightMilege] // HFmode RD=[Label]
R2=[_fNightMilege+1]
[_fDayMilege]=R1 // HFmode [Label]=RS
[_fDayMilege+1]=R2
.debug
.dw '.stabn 0x44,0,265,',0,0
.dd LM119-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM119:
R1=0 // HFmode immediate to register move
R2=0
[_fNightMilege]=R1 // HFmode [Label]=RS
[_fNightMilege+1]=R2
L65:
.debug
.dw '.stabn 0x44,0,267,',0,0
.dd LM120-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM120:
R1=[_c_fPricePerKM] // HFmode RD=[Label]
R2=[_c_fPricePerKM+1]
[_fCurPrice]=R1 // HFmode [Label]=RS
[_fCurPrice+1]=R2
.debug
.dw '.stabn 0x44,0,268,',0,0
.dd LM121-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM121:
R1=0 // QImode move
[_uiNightRun]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,269,',0,0
.dd LM122-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM122:
R1=[_uiLongWay] // QImode move
CMP R1,0 // QImode test
JNZ L82 // QImode EQ
PC=L64
L82:
.debug
.dw '.stabn 0x44,0,270,',0,0
.dd LM123-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM123:
R1=[_fCurPrice] // HFmode RD=[Label]
R2=[_fCurPrice+1]
R3=[_c_fLongWayPrice] // HFmode RD=[Label]
R4=[_c_fLongWayPrice+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __mulf2 // call with return value
SP=SP+4
[_fCurPrice]=R1 // HFmode [Label]=RS
[_fCurPrice+1]=R2
L66:
L64:
.debug
.dw '.stabn 0x44,0,272,',0,0
.dd LM124-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM124:
pc=L67 // Indirect jump
L63:
.debug
.dw '.stabn 0x44,0,275,',0,0
.dd LM125-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM125:
R1=[BP++] // RD=[RS] HFmode, RD!=RS
R2=[BP--]
R3=[_fRevMilegePoint] // HFmode RD=[Label]
R4=[_fRevMilegePoint+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __subf2 // call with return value
SP=SP+4
R3=[_fDayMilege] // HFmode RD=[Label]
R4=[_fDayMilege+1]
push R1,R2 to [sp] // pushhf
push R3,R4 to [sp] // pushhf
call __addf2 // call with return value
SP=SP+4
[_fDayMilege]=R1 // HFmode [Label]=RS
[_fDayMilege+1]=R2
.debug
.dw '.stabn 0x44,0,276,',0,0
.dd LM126-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM126:
call _Cal_GetHour // call with return value
CMP R1,[_c_uiNightTime1] // QImode compare
JB L83 // QImode GEU
PC=L69
L83:
call _Cal_GetHour // call with return value
CMP R1,[_c_uiNightTime2] // QImode compare
JNB L84 // QImode LTU
PC=L69
L84:
pc=L67 // Indirect jump
L69:
.debug
.dw '.stabn 0x44,0,278,',0,0
.dd LM127-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM127:
R1=[_fDayMilege] // HFmode RD=[Label]
R2=[_fDayMilege+1]
R3=0 // HFmode immediate to register move
R4=0
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __cmpf2 // call with return value
SP=SP+4
CMP R1,1 // QImode compare
JL L85 // QImode GE
PC=L70
L85:
.debug
.dw '.stabn 0x44,0,280,',0,0
.dd LM128-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM128:
R1=[_fDayMilege] // HFmode RD=[Label]
R2=[_fDayMilege+1]
[_fNightMilege]=R1 // HFmode [Label]=RS
[_fNightMilege+1]=R2
.debug
.dw '.stabn 0x44,0,281,',0,0
.dd LM129-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM129:
R1=0 // HFmode immediate to register move
R2=0
[_fDayMilege]=R1 // HFmode [Label]=RS
[_fDayMilege+1]=R2
L70:
.debug
.dw '.stabn 0x44,0,283,',0,0
.dd LM130-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM130:
R1=1 // QImode move
[_uiNightRun]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,284,',0,0
.dd LM131-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM131:
R1=[_c_fNightPricePerKM] // HFmode RD=[Label]
R2=[_c_fNightPricePerKM+1]
[_fCurPrice]=R1 // HFmode [Label]=RS
[_fCurPrice+1]=R2
.debug
.dw '.stabn 0x44,0,285,',0,0
.dd LM132-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM132:
R1=[_uiLongWay] // QImode move
CMP R1,0 // QImode test
JNZ L86 // QImode EQ
PC=L67
L86:
.debug
.dw '.stabn 0x44,0,286,',0,0
.dd LM133-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM133:
R1=[_fCurPrice] // HFmode RD=[Label]
R2=[_fCurPrice+1]
R3=[_c_fLongWayPrice] // HFmode RD=[Label]
R4=[_c_fLongWayPrice+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __mulf2 // call with return value
SP=SP+4
[_fCurPrice]=R1 // HFmode [Label]=RS
[_fCurPrice+1]=R2
L71:
L68:
L67:
.debug
.dw '.stabn 0x44,0,289,',0,0
.dd LM134-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM134:
R1=[BP++] // RD=[RS] HFmode, RD!=RS
R2=[BP--]
[_fRevMilegePoint]=R1 // HFmode [Label]=RS
[_fRevMilegePoint+1]=R2
.debug
.dw '.stabn 0x44,0,291,',0,0
.dd LM135-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM135:
R1=[_uiLongWay] // QImode move
CMP R1,0 // QImode test
JZ L87 // QImode NE
PC=L72
L87:
.debug
.dw '.stabn 0x44,0,293,',0,0
.dd LM136-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM136:
R1=[BP++] // RD=[RS] HFmode, RD!=RS
R2=[BP--]
R3=[_c_fLongWayLimit] // HFmode RD=[Label]
R4=[_c_fLongWayLimit+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __cmpf2 // call with return value
SP=SP+4
CMP R1,1 // QImode compare
JG L88 // QImode LE
PC=L72
L88:
.debug
.dw '.stabn 0x44,0,295,',0,0
.dd LM137-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM137:
R1=1 // QImode move
[_uiLongWay]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,296,',0,0
.dd LM138-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM138:
call _Cost_WTimeToMilege // call with return value
R3=R1
R4=0
push R3,R4 to [sp] // pushhi
call __cvi2f2 // call with return value
SP=SP+2
[bp+9]=R1 // HFmode [BP+#IM6]=RS
[bp+10]=R2
R1=[_fDayMilege] // HFmode RD=[Label]
R2=[_fDayMilege+1]
R3=[_c_fPricePerKM] // HFmode RD=[Label]
R4=[_c_fPricePerKM+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __mulf2 // call with return value
SP=SP+4
push R1,R2 to [sp] // pushhf
R1=[bp+9] // HFmode RD=[BP+#IM6]
R2=[bp+10]
push R1,R2 to [sp] // pushhf
call __addf2 // call with return value
SP=SP+4
[bp+11]=R1 // HFmode [BP+#IM6]=RS
[bp+12]=R2
R1=[_fNightMilege] // HFmode RD=[Label]
R2=[_fNightMilege+1]
R3=[_c_fNightPricePerKM] // HFmode RD=[Label]
R4=[_c_fNightPricePerKM+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __mulf2 // call with return value
SP=SP+4
push R1,R2 to [sp] // pushhf
R3=[bp+11] // HFmode RD=[BP+#IM6]
R4=[bp+12]
push R3,R4 to [sp] // pushhf
call __addf2 // call with return value
SP=SP+4
R3=[_fCost] // HFmode RD=[Label]
R4=[_fCost+1]
push R1,R2 to [sp] // pushhf
push R3,R4 to [sp] // pushhf
call __addf2 // call with return value
SP=SP+4
[_fCost]=R1 // HFmode [Label]=RS
[_fCost+1]=R2
.debug
.dw '.stabn 0x44,0,299,',0,0
.dd LM139-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM139:
R1=0 // HFmode immediate to register move
R2=0
[_fDayMilege]=R1 // HFmode [Label]=RS
[_fDayMilege+1]=R2
.debug
.dw '.stabn 0x44,0,300,',0,0
.dd LM140-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM140:
R1=0 // HFmode immediate to register move
R2=0
[_fNightMilege]=R1 // HFmode [Label]=RS
[_fNightMilege+1]=R2
.debug
.dw '.stabn 0x44,0,301,',0,0
.dd LM141-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM141:
R1=[_fCurPrice] // HFmode RD=[Label]
R2=[_fCurPrice+1]
R3=[_c_fLongWayPrice] // HFmode RD=[Label]
R4=[_c_fLongWayPrice+1]
push R3,R4 to [sp] // pushhf
push R1,R2 to [sp] // pushhf
call __mulf2 // call with return value
SP=SP+4
[_fCurPrice]=R1 // HFmode [Label]=RS
[_fCurPrice+1]=R2
L73:
L72:
.debug
.dw '.stabn 0x44,0,304,',0,0
.dd LM142-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM142:
LBE3:
.debug
.dw '.stabn 0x44,0,304,',0,0
.dd LM143-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LM143:
L57:
sp+=15
pop bp from [sp]
retf
.endp // end of Cost_ServiceLoop
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB3-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "fTemp:12",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabs "Hour:4",128,0,0,2',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE3-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME10-_Cost_ServiceLoop
.dw 0x0d,0x0a
.code
LME10:
.debug
.dw '.stabs "c_fStartPrice:G12",32,0,0,',0,0,offset _c_fStartPrice,seg _c_fStartPrice,0x0d,0x0a
.CODE
.ram
.public _c_fStartPrice
_c_fStartPrice:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fNightStartPrice:G12",32,0,0,',0,0,offset _c_fNightStartPrice,seg _c_fNightStartPrice,0x0d,0x0a
.CODE
.ram
.public _c_fNightStartPrice
_c_fNightStartPrice:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fStartMilege:G12",32,0,0,',0,0,offset _c_fStartMilege,seg _c_fStartMilege,0x0d,0x0a
.CODE
.ram
.public _c_fStartMilege
_c_fStartMilege:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fPricePerKM:G12",32,0,0,',0,0,offset _c_fPricePerKM,seg _c_fPricePerKM,0x0d,0x0a
.CODE
.ram
.public _c_fPricePerKM
_c_fPricePerKM:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fNightPricePerKM:G12",32,0,0,',0,0,offset _c_fNightPricePerKM,seg _c_fNightPricePerKM,0x0d,0x0a
.CODE
.ram
.public _c_fNightPricePerKM
_c_fNightPricePerKM:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fWaitSpeed1:G12",32,0,0,',0,0,offset _c_fWaitSpeed1,seg _c_fWaitSpeed1,0x0d,0x0a
.CODE
.ram
.public _c_fWaitSpeed1
_c_fWaitSpeed1:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fWaitSpeed2:G12",32,0,0,',0,0,offset _c_fWaitSpeed2,seg _c_fWaitSpeed2,0x0d,0x0a
.CODE
.ram
.public _c_fWaitSpeed2
_c_fWaitSpeed2:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fFirstWaitTimeLimit:G12",32,0,0,',0,0,offset _c_fFirstWaitTimeLimit,seg _c_fFirstWaitTimeLimit,0x0d,0x0a
.CODE
.ram
.public _c_fFirstWaitTimeLimit
_c_fFirstWaitTimeLimit:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fWaitTimeLimit:G12",32,0,0,',0,0,offset _c_fWaitTimeLimit,seg _c_fWaitTimeLimit,0x0d,0x0a
.CODE
.ram
.public _c_fWaitTimeLimit
_c_fWaitTimeLimit:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fWaitPrice:G12",32,0,0,',0,0,offset _c_fWaitPrice,seg _c_fWaitPrice,0x0d,0x0a
.CODE
.ram
.public _c_fWaitPrice
_c_fWaitPrice:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fLongWayLimit:G12",32,0,0,',0,0,offset _c_fLongWayLimit,seg _c_fLongWayLimit,0x0d,0x0a
.CODE
.ram
.public _c_fLongWayLimit
_c_fLongWayLimit:
.dw 2 dup(0)
.debug
.dw '.stabs "c_fLongWayPrice:G12",32,0,0,',0,0,offset _c_fLongWayPrice,seg _c_fLongWayPrice,0x0d,0x0a
.CODE
.ram
.public _c_fLongWayPrice
_c_fLongWayPrice:
.dw 2 dup(0)
.debug
.dw '.stabs "c_uiNightTime1:G4",32,0,0,',0,0,offset _c_uiNightTime1,seg _c_uiNightTime1,0x0d,0x0a
.CODE
.ram
.public _c_uiNightTime1
_c_uiNightTime1:
.dw 0
.debug
.dw '.stabs "c_uiNightTime2:G4",32,0,0,',0,0,offset _c_uiNightTime2,seg _c_uiNightTime2,0x0d,0x0a
.CODE
.ram
.public _c_uiNightTime2
_c_uiNightTime2:
.dw 0
.debug
.dw '.stabs "fCurPrice:G12",32,0,0,',0,0,offset _fCurPrice,seg _fCurPrice,0x0d,0x0a
.CODE
.ram
.public _fCurPrice
_fCurPrice:
.dw 2 dup(0)
.debug
.dw '.stabs "fCost:G12",32,0,0,',0,0,offset _fCost,seg _fCost,0x0d,0x0a
.CODE
.ram
.public _fCost
_fCost:
.dw 2 dup(0)
.debug
.dw '.stabs "fDayMilege:G12",32,0,0,',0,0,offset _fDayMilege,seg _fDayMilege,0x0d,0x0a
.CODE
.ram
.public _fDayMilege
_fDayMilege:
.dw 2 dup(0)
.debug
.dw '.stabs "fNightMilege:G12",32,0,0,',0,0,offset _fNightMilege,seg _fNightMilege,0x0d,0x0a
.CODE
.ram
.public _fNightMilege
_fNightMilege:
.dw 2 dup(0)
.debug
.dw '.stabs "fRevMilegePoint:G12",32,0,0,',0,0,offset _fRevMilegePoint,seg _fRevMilegePoint,0x0d,0x0a
.CODE
.ram
.public _fRevMilegePoint
_fRevMilegePoint:
.dw 2 dup(0)
.debug
.dw '.stabs "ulWaitTime:G5",32,0,0,',0,0,offset _ulWaitTime,seg _ulWaitTime,0x0d,0x0a
.CODE
.ram
.public _ulWaitTime
_ulWaitTime:
.dw 2 dup(0)
.debug
.dw '.stabs "uiWaiting:G4",32,0,0,',0,0,offset _uiWaiting,seg _uiWaiting,0x0d,0x0a
.CODE
.ram
.public _uiWaiting
_uiWaiting:
.dw 0
.debug
.dw '.stabs "uiNightRun:G4",32,0,0,',0,0,offset _uiNightRun,seg _uiNightRun,0x0d,0x0a
.CODE
.ram
.public _uiNightRun
_uiNightRun:
.dw 0
.debug
.dw '.stabs "uiLongWay:G4",32,0,0,',0,0,offset _uiLongWay,seg _uiLongWay,0x0d,0x0a
.CODE
.ram
.public _uiLongWay
_uiLongWay:
.dw 0
.external _Dis_GetDistance
.external _Cal_StartTimer
.external _Cal_ClearTimer
.external _Dis_GetSpeed
.external _Dis_ClearDistance
.external _Speed_Stop
.external _Dis_StopMessure
.external _Cal_ReadTimer
.external _Cal_GetHour
.external _Dis_StartMessure
.external _Speed_Start
.external _C_NightTime2
.external _C_NightTime1
.external _C_LongWayPrice
.external _C_LongWayLimit
.external _C_WaitPrice
.external _C_WaitTimeLimit
.external _C_FirstWaitTimeLimit
.external _C_WaitSpeed2
.external _C_WaitSpeed1
.external _C_NightPricePerKM
.external _C_PricePerKM
.external _C_StartMilege
.external _C_NightStartPrice
.external _C_StartPrice
.external __mulf2
.external __addf2
.external __cvi2f2
.external __cmpf2
.external __subf2
.external __rshu2
.external __cvf2i2
.external __divu2
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -