📄 sub.asm
字号:
ModeSelect:
CALL GetCardMess
CMP R1, 0
JE ModeSelectNo
R1=1
[_Book]=R1
CALL InitBook
CALL InitSysData
DATAOUT
R1=[_CardMode]
R1+=ModeSelectTab
PC=[R1]
ModeSelectTab:
.DW ModeSelectNo
.DW ModeSelectNormal
.DW ModeSelectAdjust
.DW ModeSelectVersion
.DW ModeSelectTest
.DW ModeSelectCoord
.DW ModeSelectContinous
ModeSelectNo:
CALL PenDataIn
R1=0
[_CardMode]=R1
R1=ErrFlashErr
RETF
ModeSelectCoord:
ModeSelectNormal:
ModeSelectContinous:
R1=NormalMode
CALL TxMode
CALL PenDataIn
CALL Delay50ms
CALL DTBook
CALL InitCardEdit
CALL InitBookPageMode
CALL Delay50ms
CALL ClearWatchDog
R4=[_HowManyPage]
R4=R4 LSL 2
CALL DTBody
CALL Delay50ms
CALL Delay50ms
CALL DTVM
CALL Delay50ms
CALL Delay50ms
R1=[_BookMark]
TEST R1, XYDBookBit
JE ModeSelectNormalDSL
ModeSelectNormalXYD:
R1=[_Index]
CALL PlaySoundGroup
R1=0
RETF
ModeSelectNormalDSL:
R1=0
CALL PlayDSLSys
R1=0
RETF
ModeSelectAdjust:
CALL En24C02
R1=[0x100+FAdjN]
[_AdjN]=R1
R1=[0x100+FAdjMaxN]
[_AdjMaxN]=R1
R1=AdjustMode
CALL TxMode
CMP R1, 0
JE ModeSelectAdjust2
R1=ErrTxErr
RETF
ModeSelectAdjust2:
CALL Delay2ms
CALL ComTxVer
CALL Delay2ms
CALL ComTxPara
CALL PenDataIn
R1=[_AdjN]
R1+=0x101
CALL _PlaySound
R1=0
RETF
ModeSelectVersion:
R1=[_SoundIndex]
R1+=VersionSound
[_Index]=R1
R1=VersionMode
JMP ModeSelectOther
ModeSelectTest:
R1=0
[_TestCnt]=R1
R1=[_CommBuf+FTestDPCount]
R1=0x20
[_MaxTestCnt]=R1
R1=[_SoundIndex]
[_Index]=R1
R1=TestMode
ModeSelectOther:
CALL TxMode
CMP R1, 0
JE ModeSelectOther_
R1=ErrTxErr
RETF
ModeSelectOther_:
CALL PenDataIn
R1=0
RETF
PlayVerSound:
R1=[_VerNum]
CMP R1,[_VerLen]
JNE PlayVerSound_
PC=UnitOff
PlayVerSound_:
R2=R1 LSR 1
R3= R2+_CommBuf+0x11
TEST R1, Bit0
JE PlayVerSound1
PlayVerSound0:
R1=[R3]
R1&=0x0f
JMP PlayVerSoundE
PlayVerSound1:
R1=[R3]
R1= R1 LSR 4
PlayVerSoundE:
R1&=0x0f
R1+=[_SoundIndex]
CALL _PlaySound
R1=[_VerNum]
R1+=1
[_VerNum]=R1
RETF
WaitSoundEnd:
CALL ClearWatchDog
R1=[_SacmStatus]
JE WaitSoundEnd_
CALL _ServiceLoop
JMP WaitSoundEnd
WaitSoundEnd_:
RETF
TxMode:
[_Tmp5]=R1
R1=6
[_Tmp6]=R1
CALL Delay50ms
TxMode0:
R1=[_Tmp5]
CALL ComTxMode
CMP R1, 0
JE TxModeEnd
.ifdef DEBUG_MODE
R4=R1
CALL EnUart
R1=R4
CALL TxHex
CALL DiUart
R1=2
[_Tmp6]=R1
.endif
CALL Delay5ms
R1=[_Tmp6]
R1-=1
[_Tmp6]=R1
JNE TxMode0
TxModeErr:
R1=1
TxModeEnd:
CALL Delay10ms
CALL Delay10ms
RETF
InitSysData:
CALL InitPaiDown
R1=0
[_RecordFlag]=R1
[_SoundSpeed]=R1
[_Statu]=R1
[_SysFlagA]=R1
[_SeriousFlag]=R1
[_ErrType]=R1
[_SoundSpeed]=R1
R1=11
[_SoundVolume]=R1
RETF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -