📄 main.s
字号:
subi R24,255 ; addi 1
sts _key1mode,R24
.dbline 701
; EEPROMwrite(0x200,key1mode);
mov R18,R24
ldi R16,512
ldi R17,2
xcall _EEPROMwrite
.dbline 702
; break;
xjmp L324
L329:
.dbline 705
;
; case 2:
; keynum=1;
ldi R24,1
sts _keynum,R24
.dbline 706
; if(key2mode>2)key2mode=0;
ldi R24,2
lds R2,_key2mode
cp R24,R2
brsh L330
.dbline 706
clr R2
sts _key2mode,R2
L330:
.dbline 707
; key2mode++;
lds R24,_key2mode
subi R24,255 ; addi 1
sts _key2mode,R24
.dbline 708
; EEPROMwrite(0x200+1,key2mode);
mov R18,R24
ldi R16,513
ldi R17,2
xcall _EEPROMwrite
.dbline 709
; break;
xjmp L324
L332:
.dbline 712
;
; case 3:
; keynum=2;
ldi R24,2
sts _keynum,R24
.dbline 713
; if(key3mode>2)key3mode=0;
lds R2,_key3mode
cp R24,R2
brsh L333
.dbline 713
clr R2
sts _key3mode,R2
L333:
.dbline 714
; key3mode++;
lds R24,_key3mode
subi R24,255 ; addi 1
sts _key3mode,R24
.dbline 715
; EEPROMwrite(0x200+2,key3mode);
mov R18,R24
ldi R16,514
ldi R17,2
xcall _EEPROMwrite
.dbline 716
; break;
xjmp L324
L335:
.dbline 719
;
; case 4:
; keynum=3;
ldi R24,3
sts _keynum,R24
.dbline 720
; if(key4mode>6)key4mode=0;
ldi R24,6
lds R2,_key4mode
cp R24,R2
brsh L336
.dbline 720
clr R2
sts _key4mode,R2
L336:
.dbline 721
; key4mode++;
lds R24,_key4mode
subi R24,255 ; addi 1
sts _key4mode,R24
.dbline 722
; EEPROMwrite(0x200+3,key4mode);
mov R18,R24
ldi R16,515
ldi R17,2
xcall _EEPROMwrite
.dbline 723
; break;
xjmp L324
L338:
.dbline 726
;
; case 5:
; keynum=4;
ldi R24,4
sts _keynum,R24
.dbline 727
; if(key5mode>6)key5mode=0;
ldi R24,6
lds R2,_key5mode
cp R24,R2
brsh L339
.dbline 727
clr R2
sts _key5mode,R2
L339:
.dbline 728
; key5mode++;
lds R24,_key5mode
subi R24,255 ; addi 1
sts _key5mode,R24
.dbline 729
; EEPROMwrite(0x200+4,key5mode);
mov R18,R24
ldi R16,516
ldi R17,2
xcall _EEPROMwrite
.dbline 730
; break;
xjmp L324
L341:
.dbline 733
;
; case 6:
; keynum=5;
ldi R24,5
sts _keynum,R24
.dbline 734
; if(key6mode>5)key6mode=0;
lds R2,_key6mode
cp R24,R2
brsh L342
.dbline 734
clr R2
sts _key6mode,R2
L342:
.dbline 735
; key6mode++;
lds R24,_key6mode
subi R24,255 ; addi 1
sts _key6mode,R24
.dbline 736
; EEPROMwrite(0x200+5,key6mode);
mov R18,R24
ldi R16,517
ldi R17,2
xcall _EEPROMwrite
.dbline 737
; break;
xjmp L324
L344:
.dbline 740
;
; case 7:
; keynum=6;
ldi R24,6
sts _keynum,R24
.dbline 741
; if(key7mode>4)key7mode=0;
ldi R24,4
lds R2,_key7mode
cp R24,R2
brsh L345
.dbline 741
clr R2
sts _key7mode,R2
L345:
.dbline 742
; key7mode++;
lds R24,_key7mode
subi R24,255 ; addi 1
sts _key7mode,R24
.dbline 743
; EEPROMwrite(0x200+6,key7mode);
mov R18,R24
ldi R16,518
ldi R17,2
xcall _EEPROMwrite
.dbline 744
; break;
xjmp L324
L347:
.dbline 747
;
; case 8:
; keynum=7;
ldi R24,7
sts _keynum,R24
.dbline 748
; if(key8mode>4)key8mode=0;
ldi R24,4
lds R2,_key8mode
cp R24,R2
brsh L348
.dbline 748
clr R2
sts _key8mode,R2
L348:
.dbline 749
; key8mode++;
lds R24,_key8mode
subi R24,255 ; addi 1
sts _key8mode,R24
.dbline 750
; EEPROMwrite(0x200+7,key8mode);
mov R18,R24
ldi R16,519
ldi R17,2
xcall _EEPROMwrite
.dbline 751
; break;
xjmp L324
L350:
.dbline 754
;
; case 9:
; keynum=8;
ldi R24,8
sts _keynum,R24
.dbline 755
; if(key9mode>2)key9mode=0;
ldi R24,2
lds R2,_key9mode
cp R24,R2
brsh L351
.dbline 755
clr R2
sts _key9mode,R2
L351:
.dbline 756
; key9mode++;
lds R24,_key9mode
subi R24,255 ; addi 1
sts _key9mode,R24
.dbline 757
; EEPROMwrite(0x200+8,key9mode);
mov R18,R24
ldi R16,520
ldi R17,2
xcall _EEPROMwrite
.dbline 758
; break;
xjmp L324
L353:
.dbline 761
;
; case 0:
; keynum=9;
ldi R24,9
sts _keynum,R24
.dbline 762
; if(keyamode>4)keyamode=0;
ldi R24,4
lds R2,_keyamode
cp R24,R2
brsh L354
.dbline 762
clr R2
sts _keyamode,R2
L354:
.dbline 763
; keyamode++;
lds R24,_keyamode
subi R24,255 ; addi 1
sts _keyamode,R24
.dbline 764
; EEPROMwrite(0x200+9,keyamode);
mov R18,R24
ldi R16,521
ldi R17,2
xcall _EEPROMwrite
.dbline 765
; break;
xjmp L324
L356:
.dbline 768
;
; case 0x0b:
; keynum=10;
ldi R24,10
sts _keynum,R24
.dbline 769
; if(keybmode>4)keybmode=0;
ldi R24,4
lds R2,_keybmode
cp R24,R2
brsh L357
.dbline 769
clr R2
sts _keybmode,R2
L357:
.dbline 770
; keybmode++;
lds R24,_keybmode
subi R24,255 ; addi 1
sts _keybmode,R24
.dbline 771
; EEPROMwrite(0x200+10,keybmode);
mov R18,R24
ldi R16,522
ldi R17,2
xcall _EEPROMwrite
.dbline 772
; break;
.dbline 775
;
; default:
; break;
L324:
.dbline 778
;
; }
; display_key1();
xcall _display_key1
.dbline 779
; }
xjmp L310
L321:
.dbline 780
; else display_key204();
xcall _display_key204
.dbline 781
; }
xjmp L310
L309:
.dbline 782
; else if(modemstatus==1) //手术过程记录状态
lds R24,_modemstatus
cpi R24,1
breq X30
xjmp L359
X30:
.dbline 783
; {
.dbline 784
; if(readxinghaokey()==0)
xcall _readxinghaokey
tst R16
breq X31
xjmp L361
X31:
.dbline 785
; {
.dbline 786
; if(lockkey_flag==1)lockkey_flag=0;
lds R24,_lockkey_flag
cpi R24,1
brne L363
.dbline 786
clr R2
sts _lockkey_flag,R2
xjmp L364
L363:
.dbline 787
; else if(lockkey_flag==0)
lds R2,_lockkey_flag
tst R2
breq X32
xjmp L365
X32:
.dbline 788
; {
.dbline 789
; for(i=0;i<238;i++)
clr R20
clr R21
xjmp L370
L367:
.dbline 790
.dbline 791
clr R18
movw R16,R20
subi R16,240 ; offset = 16
sbci R17,255
xcall _EEPROMwrite
.dbline 792
L368:
.dbline 789
subi R20,255 ; offset = 1
sbci R21,255
L370:
.dbline 789
cpi R20,238
ldi R30,0
cpc R21,R30
brlo L367
.dbline 794
; {
; EEPROMwrite(0x10+i,0);
; }
;
; lockkey_flag=1;
ldi R24,1
sts _lockkey_flag,R24
.dbline 795
; for(i=0;i<7;i++)
clr R20
clr R21
xjmp L374
L371:
.dbline 796
ldi R24,<_time_data
ldi R25,>_time_data
movw R30,R20
add R30,R24
adc R31,R25
ldd R2,z+0
ldi R24,<_dis_time
ldi R25,>_dis_time
movw R30,R20
add R30,R24
adc R31,R25
std z+0,R2
L372:
.dbline 795
subi R20,255 ; offset = 1
sbci R21,255
L374:
.dbline 795
cpi R20,7
ldi R30,0
cpc R21,R30
brlo L371
.dbline 798
; dis_time[i]=time_data[i];
;
; for(i=0;i<12;i++)
clr R20
clr R21
xjmp L378
L375:
.dbline 799
ldi R24,<_esckey
ldi R25,>_esckey
movw R30,R20
add R30,R24
adc R31,R25
clr R2
std z+0,R2
L376:
.dbline 798
subi R20,255 ; offset = 1
sbci R21,255
L378:
.dbline 798
cpi R20,12
ldi R30,0
cpc R21,R30
brlo L375
.dbline 801
; esckey[i]=0;
;
; timenum=1;
ldi R24,1
sts _timenum,R24
.dbline 802
; }
L365:
L364:
.dbline 803
; }
L361:
.dbline 804
; if(lockkey_flag==1)
lds R24,_lockkey_flag
cpi R24,1
breq X33
xjmp L379
X33:
.dbline 805
; {
.dbline 806
; yyj=readnumberkey();
xcall _readnumberkey
std y+4,R16
.dbline 807
; switch(yyj)
mov R22,R16
clr R23
cpi R22,0
cpc R22,R23
brne X34
xjmp L384
X34:
X10:
cpi R22,1
ldi R30,0
cpc R23,R30
brne X35
xjmp L398
X35:
cpi R22,2
ldi R30,0
cpc R23,R30
brne X36
xjmp L412
X36:
cpi R22,3
ldi R30,0
cpc R23,R30
brne X37
xjmp L426
X37:
cpi R22,4
ldi R30,0
cpc R23,R30
brne X38
xjmp L440
X38:
cpi R22,5
ldi R30,0
cpc R23,R30
brne X39
xjmp L454
X39:
cpi R22,6
ldi R30,0
cpc R23,R30
brne X40
xjmp L468
X40:
cpi R22,7
ldi R30,0
cpc R23,R30
brne X41
xjmp L482
X41:
cpi R22,8
ldi R30,0
cpc R23,R30
brne X42
xjmp L496
X42:
cpi R22,9
ldi R30,0
cpc R23,R30
brne X43
xjmp L510
X43:
cpi R22,11
ldi R30,0
cpc R23,R30
brne X44
xjmp L524
X44:
xjmp L382
X11:
.dbline 808
; {
L384:
.dbline 810
; case 0:
; if(esckey[11]==0)
lds R2,_esckey+11
tst R2
brne L385
.dbline 811
; {
.dbline 812
; for(i=0;i<7;i++)
clr R20
clr R21
xjmp L391
L388:
.dbline 813
ldi R24,<_time_data
ldi R25,>_time_data
movw R30,R20
add R30,R24
adc R31,R25
ldd R2,z+0
ldi R24,<_dis_time
ldi R25,>_dis_time
movw R30,R20
add R30,R24
adc R31,R25
std z+0,R2
L389:
.dbline 812
subi R20,255 ; offset = 1
sbci R21,255
L391:
.dbline 812
cpi R20,7
ldi R30,0
cpc R21,R30
brlo L388
.dbline 814
; dis_time[i]=time_data[i];
; timenum=11;
ldi R24,11
sts _timenum,R24
.dbline 815
; esckey[11]=1;
ldi R24,1
sts _esckey+11,R24
.dbline 816
; break;
xjmp L382
L385:
.dbline 819
; }
; else
; {
.dbline 820
; for(i=0;i<7;i++)
clr R20
clr R21
xjmp L396
L393:
.dbline 821
ldi R24,<_dis_time
ldi R25,>_dis_time
movw R30,R20
add R30,R24
adc R31,R25
clr R2
std z+0,R2
L394:
.dbline 820
subi R20,255 ; offset = 1
sbci R21,255
L396:
.dbline 820
cpi R20,7
ldi R30,0
cpc R21,R30
brlo L393
.dbline 822
; dis_time[i]=0;
; timenum=11;
ldi R24,11
sts _timenum,R24
.dbline 823
; esckey[11]=0;
clr R2
sts _esckey+11,R2
.dbline 824
; break;
xjmp L382
L398:
.dbline 827
; }
; case 1:
; if(esckey[2]==0)
lds R2,_esckey+2
tst R2
brne L399
.dbline 828
; {
.dbline 829
; for(i=0;i<7;i++)
clr R20
clr R21
xjmp L405
L402:
.dbline 830
ldi R24,<_time_data
ldi R25,>_time_data
movw R30,R20
add R30,R24
adc R31,R25
ldd R2,z+0
ldi R24,<_dis_time
ldi R25,>_dis_time
movw R30,R20
add R30,R24
adc R31,R25
std z+0,R2
L403:
.dbline 829
subi R20,255 ; offset = 1
sbci R21,255
L405:
.dbline 829
cpi R20,7
ldi R30,0
cpc R21,R30
brlo L402
.dbline 831
; dis_time[i]=time_data[i];
; timenum=2;
ldi R24,2
sts _timenum,R24
.dbline 832
; esckey[2]=1;
ldi R24,1
sts _esckey+2,R24
.dbline 833
; break;
xjmp L382
L399:
.dbline 836
; }
; else
; {
.dbline 837
; for(i=0;i<7;i++)
clr R20
clr R21
xjmp L410
L407:
.dbline 838
ldi R24,<_dis_time
ldi R25,>_dis_time
movw R30,R20
add R30,R24
adc R31,R25
clr R2
std z+0,R2
L408:
.dbline 837
subi R20,255 ; offset = 1
sbci R21,255
L410:
.dbline 837
cpi R20,7
ldi R30,0
cpc R21,R30
brlo L407
.dbline 839
; dis_time[i]=0;
; timenum=2;
ldi R24,2
sts _timenum,R24
.dbline 840
; esckey[2]=0;
clr R2
sts _esckey+2,R2
.dbline 841
; break;
xjmp L382
L412:
.dbline 844
; }
; case 2:
; if(esckey[3]==0)
lds R2,_esckey+3
tst R2
brne L413
.dbline 845
; {
.dbline 846
; for(i=0;i<7;i++)
clr R20
clr R21
xjmp L419
L416:
.dbline 847
ldi R24,<_time_data
ldi R25,>_time_data
movw R30,R20
add R30,R24
adc R31,R25
ldd R2,z+0
ldi R24,<_dis_time
ldi R25,>_dis_time
movw R30,R20
add R30,R24
adc R31,R25
std z+0,R2
L417:
.dbline 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -