📄 main.s
字号:
lds R14,_ModeStatus
clr R15
movw R24,R14
cpi R24,1
ldi R30,0
cpc R25,R30
breq L125
cpi R24,2
ldi R30,0
cpc R25,R30
breq L126
cpi R24,3
ldi R30,0
cpc R25,R30
breq L131
cpi R24,4
ldi R30,0
cpc R25,R30
breq L132
xjmp L89
X2:
.dbline 762
; {
L125:
.dbline 764
; case MODE_NOMALE:
; ModeStatus=MODE_LENGHT;
ldi R24,2
sts _ModeStatus,R24
.dbline 765
; break;
xjmp L89
L126:
.dbline 767
; case MODE_LENGHT:
; if(K1Count==2)
lds R24,_K1Count
cpi R24,2
brne L127
.dbline 768
; {
.dbline 769
; ModeStatus=MODE_KIND;
ldi R24,3
sts _ModeStatus,R24
.dbline 770
; }
xjmp L89
L127:
.dbline 771
; else if(K1Count==7) //base 5
lds R24,_K1Count
cpi R24,7
breq X15
xjmp L89
X15:
.dbline 772
; {
.dbline 773
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 774
; ModeStatus=MODE_NOMALE;
ldi R24,1
sts _ModeStatus,R24
.dbline 775
; kind=0;
clr R0
std y+12,R0
.dbline 776
; EepromICnumberWr();
xcall _EepromICnumberWr
.dbline 777
; }
.dbline 778
; break;
xjmp L89
L131:
.dbline 780
; case MODE_KIND:
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 781
; ModeStatus=MODE_NOMALE;
ldi R24,1
sts _ModeStatus,R24
.dbline 782
; kind=0;
clr R0
std y+12,R0
.dbline 783
; EepromViewModeWr();
xcall _EepromViewModeWr
.dbline 784
; break;
xjmp L89
L132:
.dbline 786
; case MODE_PASSWORD:
; if(PassDate_flag==INVALE_SETUP || PassDate_flag==DATE_SETUP)
lds R24,_PassDate_flag
cpi R24,51
breq L135
cpi R24,34
breq X16
xjmp L89
X16:
L135:
.dbline 787
; {
.dbline 788
; PassDate_flag=DATE_SETUP;
ldi R24,34
sts _PassDate_flag,R24
.dbline 789
; if(K1Count==2)
lds R24,_K1Count
cpi R24,2
breq X17
xjmp L89
X17:
.dbline 790
; {
.dbline 791
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 792
; ModeStatus=MODE_NOMALE;
ldi R24,1
sts _ModeStatus,R24
.dbline 793
; kind=0;
clr R0
std y+12,R0
.dbline 794
; DayData[0]=KK;
ldd R2,y+13
ldd R3,y+14
sts _DayData,R2
.dbline 795
; DayData[1]=0x00;
clr R2
sts _DayData+1,R2
.dbline 796
; EepromDayDataWr();
xcall _EepromDayDataWr
.dbline 797
; }
.dbline 798
; }
.dbline 799
; break;
.dbline 801
; default:
; break;
.dbline 803
; }
; break;
xjmp L89
L139:
.dbline 805
; case KEY_K4: //k4
; if(ModeStatus==MODE_PASSWORD)
lds R24,_ModeStatus
cpi R24,4
breq X18
xjmp L89
X18:
.dbline 806
; {
.dbline 807
lds R24,_PassDate_flag
cpi R24,51
breq L144
cpi R24,17
breq X19
xjmp L89
X19:
L144:
.dbline 807
; if(PassDate_flag==INVALE_SETUP || PassDate_flag==PASSWORD_SETUP){
.dbline 808
; PassDate_flag=PASSWORD_SETUP;
ldi R24,17
sts _PassDate_flag,R24
.dbline 810
; // if(KK==0 && K4Count>0)
; if(K4Count>5)
ldi R24,5
lds R2,_K4Count
cp R24,R2
brlo X20
xjmp L145
X20:
.dbline 811
; {
.dbline 812
; if(Password_Enable==FALSE)
lds R2,_Password_Enable
tst R2
brne L147
.dbline 813
; {
.dbline 814
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 815
; ModeStatus=MODE_NOMALE;
ldi R24,1
sts _ModeStatus,R24
.dbline 816
; kind=0;
clr R0
std y+12,R0
.dbline 817
; EepromPasswordWr();
xcall _EepromPasswordWr
.dbline 818
; Password_Enable=TRUE;
ldi R24,1
sts _Password_Enable,R24
.dbline 819
; break;
xjmp L89
L147:
.dbline 822
; }
; else
; {
.dbline 823
; if(tempPW[0]==PasswordData[0] &&tempPW[1]==PasswordData[1]&&tempPW[2]==PasswordData[2]&&tempPW[3]==PasswordData[3]&&tempPW[4]==PasswordData[4])
lds R2,_PasswordData
ldd R3,y+0
cp R3,R2
brne L149
lds R2,_PasswordData+1
ldd R3,y+1
cp R3,R2
brne L149
lds R2,_PasswordData+2
ldd R3,y+2
cp R3,R2
brne L149
lds R2,_PasswordData+3
ldd R3,y+3
cp R3,R2
brne L149
lds R2,_PasswordData+4
ldd R3,y+4
cp R3,R2
brne L149
.dbline 824
; {
.dbline 825
; ModeStatus=MODE_PASSWORD;
ldi R24,4
sts _ModeStatus,R24
.dbline 826
; PassDate_flag=PASSWORD_SETUP;
ldi R24,17
sts _PassDate_flag,R24
.dbline 827
; PwModify_flag=TRUE;
ldi R24,1
ldi R25,0
sts _PwModify_flag+1,R25
sts _PwModify_flag,R24
.dbline 828
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 829
; K4Count=0;
sts _K4Count,R2
.dbline 830
; KK=0;
clr R0
clr R1
std y+14,R1
std y+13,R0
.dbline 831
; break;
xjmp L89
L149:
.dbline 834
; }
; else
; {
.dbline 835
; if(PwModify_flag==3)
lds R24,_PwModify_flag
lds R25,_PwModify_flag+1
cpi R24,3
ldi R30,0
cpc R25,R30
brne L159
.dbline 836
; {
.dbline 837
; EepromPasswordWr();
xcall _EepromPasswordWr
.dbline 838
; }
L159:
.dbline 839
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 840
; ModeStatus=MODE_NOMALE;
ldi R24,1
sts _ModeStatus,R24
.dbline 841
; kind=0;
clr R0
std y+12,R0
.dbline 842
; break;
xjmp L89
L145:
.dbline 846
; }
; }
; }
; K4Count++;
lds R24,_K4Count
subi R24,255 ; addi 1
sts _K4Count,R24
.dbline 847
; switch(K4Count)
mov R12,R24
clr R13
movw R24,R12
cpi R24,2
ldi R30,0
cpc R25,R30
breq L164
cpi R24,3
ldi R30,0
cpc R25,R30
breq L165
cpi R24,4
ldi R30,0
cpc R25,R30
breq L167
cpi R24,5
ldi R30,0
cpc R25,R30
breq L169
cpi R24,6
ldi R30,0
cpc R25,R30
breq L171
xjmp L162
X3:
.dbline 848
; {
L164:
.dbline 850
; case 2: //byte1
; PasswordData[0]=KK;
ldd R2,y+13
ldd R3,y+14
sts _PasswordData,R2
.dbline 851
; break;
xjmp L162
L165:
.dbline 853
; case 3: //byte2
; PasswordData[1]=KK;
ldd R2,y+13
ldd R3,y+14
sts _PasswordData+1,R2
.dbline 854
; break;
xjmp L162
L167:
.dbline 856
; case 4: //byte3
; PasswordData[2]=KK;
ldd R2,y+13
ldd R3,y+14
sts _PasswordData+2,R2
.dbline 857
; break;
xjmp L162
L169:
.dbline 859
; case 5: //byte4
; PasswordData[3]=KK;
ldd R2,y+13
ldd R3,y+14
sts _PasswordData+3,R2
.dbline 860
; break;
xjmp L162
L171:
.dbline 862
; case 6: //byte5
; PasswordData[4]=KK;
ldd R2,y+13
ldd R3,y+14
sts _PasswordData+4,R2
.dbline 863
; break;
.dbline 865
; default:
; break;
L162:
.dbline 868
; }
; // if(Password_Enable==TRUE && PwModify_flag>=TRUE)
; if(Password_Enable==TRUE && PwModify_flag==TRUE) //070616 modify
lds R24,_Password_Enable
cpi R24,1
breq X21
xjmp L173
X21:
lds R24,_PwModify_flag
lds R25,_PwModify_flag+1
cpi R24,1
ldi R30,0
cpc R25,R30
breq X22
xjmp L173
X22:
.dbline 869
; {
.dbline 870
; if(K4Count==2 && PasswordData[0]==0x3)
lds R24,_K4Count
cpi R24,2
brne L175
lds R24,_PasswordData
cpi R24,3
brne L175
.dbline 871
; {
.dbline 872
; ModeStatus=MODE_PASSWORD;
ldi R24,4
sts _ModeStatus,R24
.dbline 873
; PassDate_flag=PASSWORD_SETUP;
ldi R24,17
sts _PassDate_flag,R24
.dbline 874
; PwModify_flag=3;
ldi R24,3
ldi R25,0
sts _PwModify_flag+1,R25
sts _PwModify_flag,R24
.dbline 875
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 876
; K4Count=0;
sts _K4Count,R2
.dbline 877
; KK=0;
clr R0
clr R1
std y+14,R1
std y+13,R0
.dbline 878
; }
xjmp L176
L175:
.dbline 879
; else if(K4Count==2 && PasswordData[0]==0x8)
lds R24,_K4Count
cpi R24,2
brne L177
lds R24,_PasswordData
cpi R24,8
brne L177
.dbline 880
; {
.dbline 881
; ModeStatus=MODE_PASSWORD;
ldi R24,4
sts _ModeStatus,R24
.dbline 882
; PassDate_flag=DATE_SETUP;
ldi R24,34
sts _PassDate_flag,R24
.dbline 883
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 884
; K4Count=0;
sts _K4Count,R2
.dbline 885
; KK=0;
clr R0
clr R1
std y+14,R1
std y+13,R0
.dbline 886
; }
xjmp L178
L177:
.dbline 887
; else if(K4Count==3 && PasswordData[0]==38&& PasswordData[1]==83)
lds R24,_K4Count
cpi R24,3
brne L179
lds R24,_PasswordData
cpi R24,38
brne L179
lds R24,_PasswordData+1
cpi R24,83
brne L179
.dbline 888
; {
.dbline 889
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 890
; ModeStatus=MODE_NOMALE;
ldi R24,1
sts _ModeStatus,R24
.dbline 891
; kind=0;
clr R0
std y+12,R0
.dbline 892
; PasswordCannel();
xcall _PasswordCannel
.dbline 893
; break;
xjmp L89
L179:
L178:
L176:
.dbline 895
; }
; }
L173:
.dbline 897
;
; KK=0;
clr R0
clr R1
std y+14,R1
std y+13,R0
.dbline 898
; }
.dbline 899
; }
.dbline 900
; break;
xjmp L89
L182:
.dbline 902
; case KEY_K1K4RST://k1k4
; FactorySetup();
xcall _FactorySetup
.dbline 903
; EepromICnumberWr();
xcall _EepromICnumberWr
.dbline 904
; EepromViewModeWr();
xcall _EepromViewModeWr
.dbline 905
; WatchDog(0);
clr R16
xcall _WatchDog
L183:
.dbline 906
L184:
.dbline 906
; while(1);
xjmp L183
X4:
.dbline 907
; break;
xjmp L89
L186:
.dbline 909
; case KEY_K3K4RST: //k3k4
; EepromPasswordRd();
xcall _EepromPasswordRd
.dbline 910
; PwModify_flag=FALSE;
clr R2
clr R3
sts _PwModify_flag+1,R3
sts _PwModify_flag,R2
.dbline 911
; if(Password_Enable==FALSE)
lds R2,_Password_Enable
tst R2
brne L187
.dbline 912
; {
.dbline 913
; ModeStatus=MODE_PASSWORD;
ldi R24,4
sts _ModeStatus,R24
.dbline 914
; PassDate_flag=INVALE_SETUP;
ldi R24,51
sts _PassDate_flag,R24
.dbline 915
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 916
; K4Count=0;
sts _K4Count,R2
.dbline 917
; KK=0;
clr R0
clr R1
std y+14,R1
std y+13,R0
.dbline 918
; }
xjmp L89
L187:
.dbline 920
; else
; {
.dbline 921
; ModeStatus=MODE_PASSWORD;
ldi R24,4
sts _ModeStatus,R24
.dbline 922
; PassDate_flag=PASSWORD_SETUP;
ldi R24,17
sts _PassDate_flag,R24
.dbline 923
; K1Count=0;
clr R2
sts _K1Count,R2
.dbline 924
; K4Count=0;
sts _K4Count,R2
.dbline 925
; for(i=0;i<PASSWORDLENGHT;i++)
clr R0
std y+9,R0
xjmp L192
L189:
.dbline 926
ldi R24,<_PasswordData
ldi R25,>_PasswordData
ldd R30,y+9
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
movw R24,R28
ldd R30,y+9
clr R31
add R30,R24
adc R31,R25
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -