?? 魚探儀.src
字號:
MOV DPTR,#f?1952+01H
MOVX A,@DPTR
SUBB A,#0F4H
MOV DPTR,#f?1952
MOVX A,@DPTR
SUBB A,#01H
JNC ?C0247
; sdset19();
; SOURCE LINE # 559
LJMP sdset19
?C0247:
; else if(f<=550)
; SOURCE LINE # 560
SETB C
MOV DPTR,#f?1952+01H
MOVX A,@DPTR
SUBB A,#026H
MOV DPTR,#f?1952
MOVX A,@DPTR
SUBB A,#02H
JNC ?C0249
; sdset20();
; SOURCE LINE # 561
LJMP sdset20
?C0249:
; else sdset21();
; SOURCE LINE # 562
LCALL sdset21
; }
; SOURCE LINE # 563
?C0251:
RET
; END OF _pbhd
; /*********************************/
; //海底數值判別
; /*********************************/
; void sujucle()//數據處理
RSEG ?PR?sujucle?_鉥___
sujucle:
USING 0
; SOURCE LINE # 567
; {
; SOURCE LINE # 568
;
;
; yasue();//數據壓縮成500個數
; SOURCE LINE # 571
LCALL yasue
; zdpe(); //判斷最大值
; SOURCE LINE # 572
LCALL zdpe
; if(trp>5)
; SOURCE LINE # 573
SETB C
MOV A,trp+01H
SUBB A,#05H
MOV A,trp
XRL A,#080H
SUBB A,#080H
JC ?C0252
; {
; SOURCE LINE # 574
; if(trp<480)
; SOURCE LINE # 575
MOV A,trp+01H
SUBB A,#0E0H
MOV A,trp
XRL A,#080H
SUBB A,#081H
JNC ?C0253
; {
; SOURCE LINE # 576
; xlpe(); //判斷最大斜率
; SOURCE LINE # 577
LCALL xlpe
; haidisendu=haidewz();//海底值確定
; SOURCE LINE # 578
LCALL haidewz
MOV haidisendu,R6
MOV haidisendu+01H,R7
; if(trp<10)
; SOURCE LINE # 579
CLR C
MOV A,trp+01H
SUBB A,#0AH
MOV A,trp
XRL A,#080H
SUBB A,#080H
JNC ?C0254
; {
; SOURCE LINE # 580
; if(zenyi==0x08)
; SOURCE LINE # 581
MOV A,zenyi
CJNE A,#08H,?C0254
; {
; SOURCE LINE # 582
; zenyia++;
; SOURCE LINE # 583
INC zenyia
; if(zenyia>0x07)
; SOURCE LINE # 584
MOV A,zenyia
SETB C
SUBB A,#07H
JC ?C0254
; zenyia=0x07;
; SOURCE LINE # 585
MOV zenyia,#07H
; }
; SOURCE LINE # 586
; }
; SOURCE LINE # 587
?C0254:
; if(trp>50)
; SOURCE LINE # 588
SETB C
MOV A,trp+01H
SUBB A,#032H
MOV A,trp
XRL A,#080H
SUBB A,#080H
JC ?C0266
; {
; SOURCE LINE # 589
; if(zenyi==0x08)
; SOURCE LINE # 590
MOV A,zenyi
XRL A,#08H
JNZ ?C0266
; {
; SOURCE LINE # 591
; {
; SOURCE LINE # 592
; if(zenyia>0x00)
; SOURCE LINE # 593
MOV A,zenyia
SETB C
SUBB A,#00H
JC ?C0266
; zenyia--;
; SOURCE LINE # 594
DEC zenyia
; }
; SOURCE LINE # 595
; }
; SOURCE LINE # 596
; }
; SOURCE LINE # 597
; }
; SOURCE LINE # 598
RET
?C0253:
; else {haidisendu=0x0000;
; SOURCE LINE # 599
CLR A
MOV haidisendu,A
MOV haidisendu+01H,A
; if(zenyi==0x08)
; SOURCE LINE # 600
MOV A,zenyi
CJNE A,#08H,?C0266
; {
; SOURCE LINE # 601
; if(zenyia>0x00)
; SOURCE LINE # 602
MOV A,zenyia
SETB C
SUBB A,#00H
JC ?C0266
; zenyia--;
; SOURCE LINE # 603
DEC zenyia
; }
; SOURCE LINE # 604
; }
; SOURCE LINE # 605
; }
; SOURCE LINE # 606
RET
?C0252:
; else {haidisendu=0xffff;
; SOURCE LINE # 607
MOV A,#0FFH
MOV haidisendu,A
MOV haidisendu+01H,A
; if(zenyi==0x08)
; SOURCE LINE # 608
MOV A,zenyi
CJNE A,#08H,?C0266
; {
; SOURCE LINE # 609
; zenyia++;
; SOURCE LINE # 610
INC zenyia
; if(zenyia>0x07)
; SOURCE LINE # 611
MOV A,zenyia
SETB C
SUBB A,#07H
JC ?C0266
; zenyia=0x07;
; SOURCE LINE # 612
MOV zenyia,#07H
; }
; SOURCE LINE # 613
;
; }
; SOURCE LINE # 615
; }
; SOURCE LINE # 616
?C0266:
RET
; END OF sujucle
;
; void yasue()
RSEG ?PR?yasue?_鉥___
yasue:
USING 0
; SOURCE LINE # 618
; {
; SOURCE LINE # 619
; uint i;
; uchar o;
; uchar k;
; uint g;
; uchar xdata *fg;
; clp_dog();
; SOURCE LINE # 625
LCALL clp_dog
; g=0;
; SOURCE LINE # 626
CLR A
MOV DPTR,#g?2156
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
; fg=adcjs;
; SOURCE LINE # 627
INC DPTR
MOV A,#HIGH (adcjs)
MOVX @DPTR,A
INC DPTR
MOV A,#LOW (adcjs)
MOVX @DPTR,A
; for(i=0;i<350;i++)//數據壓縮成500個數
; SOURCE LINE # 628
;---- Variable 'i?2153' assigned to Register 'R2/R3' ----
CLR A
MOV R3,A
MOV R2,A
?C0267:
; {
; SOURCE LINE # 629
; g=*fg;
; SOURCE LINE # 630
MOV DPTR,#fg?2157
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV DPL,A
MOV DPH,R6
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#g?2156
CLR A
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
;
; for(o=1;o<cmb;o++)
; SOURCE LINE # 632
;---- Variable 'o?2154' assigned to Register 'R7' ----
MOV R7,#01H
?C0270:
MOV A,R7
CLR C
SUBB A,cmb
JNC ?C0271
; {
; SOURCE LINE # 633
; fg++;
; SOURCE LINE # 634
MOV DPTR,#fg?2157+01H
MOVX A,@DPTR
INC A
MOVX @DPTR,A
JNZ ?C0438
MOV DPTR,#fg?2157
MOVX A,@DPTR
INC A
MOVX @DPTR,A
?C0438:
; g=g+*fg;
; SOURCE LINE # 635
MOV DPTR,#fg?2157
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV DPL,A
MOV DPH,R4
MOVX A,@DPTR
MOV R5,A
MOV DPTR,#g?2156+01H
MOVX A,@DPTR
ADD A,R5
MOVX @DPTR,A
MOV DPTR,#g?2156
MOVX A,@DPTR
ADDC A,#00H
MOVX @DPTR,A
; }
; SOURCE LINE # 636
INC R7
SJMP ?C0270
?C0271:
; k=g/cmb;
; SOURCE LINE # 637
MOV A,cmb
MOV R5,A
MOV R4,#00H
MOV DPTR,#g?2156
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
LCALL ?C?UIDIV
MOV DPTR,#k?2155
MOV A,R7
MOVX @DPTR,A
; if(k<=zaibao)
; SOURCE LINE # 638
SETB C
SUBB A,zaibao
JNC ?C0273
; k=0;
; SOURCE LINE # 639
CLR A
MOVX @DPTR,A
?C0273:
; yssu[i]=k;
; SOURCE LINE # 640
MOV DPTR,#k?2155
MOVX A,@DPTR
MOV R7,A
MOV A,#LOW (yssu)
ADD A,R3
MOV DPL,A
MOV A,#HIGH (yssu)
ADDC A,R2
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
; fg++;
; SOURCE LINE # 641
MOV DPTR,#fg?2157+01H
MOVX A,@DPTR
INC A
MOVX @DPTR,A
JNZ ?C0439
MOV DPTR,#fg?2157
MOVX A,@DPTR
INC A
MOVX @DPTR,A
?C0439:
; g=0;
; SOURCE LINE # 642
CLR A
MOV DPTR,#g?2156
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
; }
; SOURCE LINE # 643
INC R3
CJNE R3,#00H,?C0440
INC R2
?C0440:
MOV A,R3
XRL A,#05EH
JNZ ?C0441
MOV A,R2
XRL A,#01H
?C0441:
JZ $ + 5H
LJMP ?C0267
;
; }
; SOURCE LINE # 645
?C0274:
RET
; END OF yasue
;
;
; void zdpe() //判斷最大值
RSEG ?PR?zdpe?_鉥___
zdpe:
USING 0
; SOURCE LINE # 648
; {
; SOURCE LINE # 649
; uint i;
;
;
; trp=0;
; SOURCE LINE # 653
CLR A
MOV trp,A
MOV trp+01H,A
; clp_dog();
; SOURCE LINE # 654
LCALL clp_dog
; for(i=2;i<350;i++) //判斷最大值
; SOURCE LINE # 655
;---- Variable 'i?2258' assigned to Register 'R4/R5' ----
MOV R5,#02H
MOV R4,A
?C0275:
; {
; SOURCE LINE # 656
; if(yssu[i]>=0xf0)
; SOURCE LINE # 657
MOV A,#LOW (yssu)
ADD A,R5
MOV DPL,A
MOV A,#HIGH (yssu)
ADDC A,R4
MOV DPH,A
MOVX A,@DPTR
CLR C
SUBB A,#0F0H
JC ?C0277
; {
; SOURCE LINE # 658
; haidea[trp]=i;
; SOURCE LINE # 659
MOV A,trp+01H
ADD A,ACC
MOV R7,A
MOV A,trp
RLC A
MOV R6,A
MOV A,#LOW (haidea)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (haidea)
ADDC A,R6
MOV DPH,A
MOV A,R4
MOVX @DPTR,A
INC DPTR
MOV A,R5
MOVX @DPTR,A
; trp++;
; SOURCE LINE # 660
INC trp+01H
MOV A,trp+01H
JNZ ?C0442
INC trp
?C0442:
; }
; SOURCE LINE # 661
;
; }
; SOURCE LINE # 663
?C0277:
INC R5
CJNE R5,#00H,?C0443
INC R4
?C0443:
CJNE R4,#01H,?C0275
CJNE R5,#05EH,?C0275
; }
; SOURCE LINE # 664
?C0279:
RET
; END OF zdpe
;
;
; void xlpe() //判斷最大斜率,數據分組
RSEG ?PR?xlpe?_鉥___
xlpe:
USING 0
; SOURCE LINE # 667
; {
; SOURCE LINE # 668
; int i;
; int dc;
; uint n;
; uint m;//一組有幾個數
; dc=trp-1;
; SOURCE LINE # 673
MOV A,trp+01H
ADD A,#0FFH
MOV DPTR,#dc?2360+01H
MOVX @DPTR,A
MOV A,trp
ADDC A,#0FFH
MOV DPTR,#dc?2360
MOVX @DPTR,A
; n=haidea[dc];
; SOURCE LINE # 674
INC DPTR
MOVX A,@DPTR
ADD A,ACC
MOV R7,A
MOV DPTR,#dc?2360
MOVX A,@DPTR
RLC A
MOV R6,A
MOV A,#LOW (haidea)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (haidea)
ADDC A,R6
MOV DPH,A
MOVX A,@DPTR
MOV R7,A
INC DPTR
MOVX A,@DPTR
MOV DPTR,#n?2361
XCH A,R7
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; t=0;
; SOURCE LINE # 675
CLR A
MOV DPTR,#t
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
; m=1;
; SOURCE LINE # 676
MOV DPTR,#m?2362
MOVX @DPTR,A
INC DPTR
INC A
MOVX @DPTR,A
; for(i=trp-2;i>=0;i--)
; SOURCE LINE # 677
MOV A,trp+01H
ADD A,#0FEH
MOV R7,A
MOV A,trp
ADDC A,#0FFH
;---- Variable 'i?2359' assigned to Register 'R4/R5' ----
MOV R5,AR7
MOV R4,A
?C0280:
CLR C
MOV A,R4
XRL A,#080H
SUBB A,#080H
JNC $ + 5H
LJMP ?C0285
; {
; SOURCE LINE # 678
; if(n-haidea[i]==1)
; SOURCE LINE # 679
MOV A,R5
ADD A,ACC
MOV R7,A
MOV A,R4
RLC A
MOV R6,A
MOV A,#LOW (haidea)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (haidea)
ADDC A,R6
MOV DPH,A
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
CLR C
MOV DPTR,#n?2361+01H
MOVX A,@DPTR
SUBB A,R7
MOV R7,A
MOV DPTR,#n?2361
MOVX A,@DPTR
SUBB A,R6
MOV R6,A
MOV A,R7
XRL A,#01H
ORL A,R6
JNZ ?C0283
; m++;
; SOURCE LINE # 680
MOV DPTR,#m?2362+01H
MOVX A,@DPTR
INC A
MOVX @DPTR,A
JNZ ?C0444
MOV DPTR,#m?2362
MOVX A,@DPTR
INC A
MOVX @DPTR,A
?C0444:
SJMP ?C0284
?C0283:
; else
; {
; SOURCE LINE # 682
; haier[t]=m;
; SOURCE LINE # 683
MOV DPTR,#m?2362
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPTR,#t+01H
MOVX A,@DPTR
ADD A,ACC
MOV R7,A
MOV DPTR,#t
MOVX A,@DPTR
RLC A
MOV R6,A
MOV A,#LOW (haier)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (haier)
ADDC A,R6
MOV DPH,A
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
; dc=i+1;
; SOURCE LINE # 684
MOV A,R5
ADD A,#01H
MOV R6,A
CLR A
ADDC A,R4
MOV DPTR,#dc?2360
MOVX @DPTR,A
INC DPTR
XCH A,R6
MOVX @DPTR,A
; haief[t]=haidea[dc];
; SOURCE LINE # 685
MOVX A,@DPTR
ADD A,ACC
MOV R7,A
MOV DPTR,#dc?2360
MOVX A,@DPTR
RLC A
MOV R6,A
MOV A,#LOW (haidea)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (haidea)
ADDC A,R6
MOV DPH,A
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
MOV DPTR,#t+01H
MOVX A,@DPTR
ADD A,ACC
MOV R7,A
MOV DPTR,#t
MOVX A,@DPTR
RLC A
MOV R6,A
MOV A,#LOW (haief)
ADD A,R7
MOV DPL,A
MOV A,#HIGH (haief)
ADDC A,R6
MOV DPH,A
MOV A,R2
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -