📄 display_board2.0.lis
字号:
03B6 .dbline 280
03B6 ; }
03B6 L63:
03B6 .dbline 281
03B6 ; if(HeadEN ==1) //循环检测文件起始标志
03B6 80912700 lds R24,_HeadEN
03BA 8130 cpi R24,1
03BC 01F5 brne L69
03BE .dbline 282
03BE ; {
03BE .dbline 283
03BE ; Head[HeadLoad] =data;
03BE 80E0 ldi R24,<_Head
03C0 90E0 ldi R25,>_Head
03C2 E0912600 lds R30,_HeadLoad
03C6 FF27 clr R31
03C8 E80F add R30,R24
03CA F91F adc R31,R25
03CC 4083 std z+0,R20
03CE .dbline 284
03CE ; HeadLoad++;
03CE 80912600 lds R24,_HeadLoad
03D2 8F5F subi R24,255 ; addi 1
03D4 80932600 sts _HeadLoad,R24
03D8 .dbline 285
03D8 ; if(HeadLoad ==3)
03D8 8330 cpi R24,3
03DA 89F4 brne L71
03DC .dbline 286
03DC ; {
03DC .dbline 287
03DC ; if((Head[0] ==76) && (Head[1] ==69) &&(Head[2] ==68))//文件起始表示吻合
03DC 80910000 lds R24,_Head
03E0 8C34 cpi R24,76
03E2 69F4 brne L73
03E4 80910100 lds R24,_Head+1
03E8 8534 cpi R24,69
03EA 49F4 brne L73
03EC 80910200 lds R24,_Head+2
03F0 8434 cpi R24,68
03F2 29F4 brne L73
03F4 .dbline 288
03F4 ; {
03F4 .dbline 289
03F4 ; HeadEN =0;
03F4 2224 clr R2
03F6 20922700 sts _HeadEN,R2
03FA .dbline 290
03FA ; FileEnd =0;
03FA 20922500 sts _FileEnd,R2
03FE .dbline 291
03FE ; }
03FE L73:
03FE .dbline 292
03FE ; }
03FE L71:
03FE .dbline 293
03FE L69:
03FE .dbline -2
03FE L60:
03FE 0E940000 xcall pop_gset1
0402 .dbline 0 ; func end
0402 0895 ret
0404 .dbsym r data 20 c
0404 .dbend
0404 .dbfunc e Disp_Model _Disp_Model fV
0404 ; PFileMax -> R20,R21
0404 ; file_length -> R22,R23
.even
0404 _Disp_Model::
0404 0E940000 xcall push_gset2
0408 .dbline -1
0408 .dbline 301
0408 ; }
0408 ; }
0408 ; /**************************************************
0408 ;
0408 ; 显示效果处理
0408 ;
0408 ; ****************************************************/
0408 ; void Disp_Model(void)
0408 ; {
0408 .dbline 302
0408 ; unsigned int file_length =0;
0408 6627 clr R22
040A 7727 clr R23
040C .dbline 306
040C ; int PFileMax;
040C ; //DispModel =RAM_Read(2) & (RAM_Read(3)<<8); //model控制字节
040C ; //PFileMax =(RAM_Read(0) & RAM_Read(1)<<8)>>3; //计算缓冲区域的最大列数
040C ; if(ModelDelayTime ==0)
040C 20902D00 lds R2,_ModelDelayTime
0410 30902E00 lds R3,_ModelDelayTime+1
0414 2220 tst R2
0416 09F0 breq X5
0418 92C0 xjmp L78
041A X5:
041A 3320 tst R3
041C 09F0 breq X6
041E 8FC0 xjmp L78
0420 X6:
0420 X1:
0420 .dbline 307
0420 ; {
0420 .dbline 308
0420 ; switch(DispModel)
0420 60912C00 lds R22,_DispModel
0424 7727 clr R23
0426 6030 cpi R22,0
0428 6707 cpc R22,R23
042A B9F0 breq L83
042C X2:
042C 6130 cpi R22,1
042E E0E0 ldi R30,0
0430 7E07 cpc R23,R30
0432 F9F0 breq L84
0434 6230 cpi R22,2
0436 E0E0 ldi R30,0
0438 7E07 cpc R23,R30
043A 29F1 breq L85
043C 6330 cpi R22,3
043E E0E0 ldi R30,0
0440 7E07 cpc R23,R30
0442 09F4 brne X7
0444 68C0 xjmp L81
0446 X7:
0446 6430 cpi R22,4
0448 E0E0 ldi R30,0
044A 7E07 cpc R23,R30
044C 31F1 breq L87
044E 6530 cpi R22,5
0450 E0E0 ldi R30,0
0452 7E07 cpc R23,R30
0454 09F4 brne X8
0456 5FC0 xjmp L81
0458 X8:
0458 5EC0 xjmp L80
045A X3:
045A .dbline 309
045A ; {
045A L83:
045A .dbline 311
045A ; case 0:
045A ; { //基本显示
045A .dbline 312
045A ; PDataYMin =4;
045A 84E0 ldi R24,4
045C 90E0 ldi R25,0
045E 90932400 sts _PDataYMin+1,R25
0462 80932300 sts _PDataYMin,R24
0466 .dbline 313
0466 ; PDataYMax =154;
0466 8AE9 ldi R24,154
0468 90932200 sts _PDataYMax+1,R25
046C 80932100 sts _PDataYMax,R24
0470 .dbline 314
0470 ; break;
0470 52C0 xjmp L81
0472 L84:
0472 .dbline 317
0472 ; }
0472 ; case 1:
0472 ; { //滚屏
0472 .dbline 318
0472 ; PDataY++;
0472 80911F00 lds R24,_PDataY
0476 90912000 lds R25,_PDataY+1
047A 0196 adiw R24,1
047C 90932000 sts _PDataY+1,R25
0480 80931F00 sts _PDataY,R24
0484 .dbline 319
0484 ; break;
0484 48C0 xjmp L81
0486 L85:
0486 .dbline 322
0486 ; }
0486 ; case 2:
0486 ; { //反向滚屏
0486 .dbline 323
0486 ; PDataY--;
0486 80911F00 lds R24,_PDataY
048A 90912000 lds R25,_PDataY+1
048E 0197 sbiw R24,1
0490 90932000 sts _PDataY+1,R25
0494 80931F00 sts _PDataY,R24
0498 .dbline 324
0498 ; break;
0498 3EC0 xjmp L81
049A X4:
049A .dbline 327
049A ; }
049A ; case 3:
049A ; {
049A .dbline 328
049A ; break;
049A L87:
049A .dbline 331
049A ; }
049A ; case 4:
049A ; { //覆盖模式
049A .dbline 332
049A ; if(ModelContJuge =1)
049A 81E0 ldi R24,1
049C 80932F00 sts _ModelContJuge,R24
04A0 8823 tst R24
04A2 99F0 breq L88
04A4 .dbline 333
04A4 ; {
04A4 .dbline 334
04A4 ; PDataYMax++;
04A4 80912100 lds R24,_PDataYMax
04A8 90912200 lds R25,_PDataYMax+1
04AC 0196 adiw R24,1
04AE 90932200 sts _PDataYMax+1,R25
04B2 80932100 sts _PDataYMax,R24
04B6 .dbline 335
04B6 ; PDataYMin++;
04B6 80912300 lds R24,_PDataYMin
04BA 90912400 lds R25,_PDataYMin+1
04BE 0196 adiw R24,1
04C0 90932400 sts _PDataYMin+1,R25
04C4 80932300 sts _PDataYMin,R24
04C8 .dbline 336
04C8 ; }
04C8 12C0 xjmp L89
04CA L88:
04CA .dbline 338
04CA ; else
04CA ; {
04CA .dbline 339
04CA ; PDataYMax--;
04CA 80912100 lds R24,_PDataYMax
04CE 90912200 lds R25,_PDataYMax+1
04D2 0197 sbiw R24,1
04D4 90932200 sts _PDataYMax+1,R25
04D8 80932100 sts _PDataYMax,R24
04DC .dbline 340
04DC ; PDataYMin--;
04DC 80912300 lds R24,_PDataYMin
04E0 90912400 lds R25,_PDataYMin+1
04E4 0197 sbiw R24,1
04E6 90932400 sts _PDataYMin+1,R25
04EA 80932300 sts _PDataYMin,R24
04EE .dbline 341
04EE ; }
04EE L89:
04EE .dbline 342
04EE ; if(PDataYMax >PFileMax)
04EE 20902100 lds R2,_PDataYMax
04F2 30902200 lds R3,_PDataYMax+1
04F6 4215 cp R20,R2
04F8 5305 cpc R21,R3
04FA 1CF4 brge L90
04FC .dbline 343
04FC ; {
04FC .dbline 344
04FC ; ModelContJuge =0;
04FC 2224 clr R2
04FE 20922F00 sts _ModelContJuge,R2
0502 .dbline 345
0502 ; }
0502 L90:
0502 .dbline 346
0502 ; if(PDataYMax <PFileMax)
0502 20902100 lds R2,_PDataYMax
0506 30902200 lds R3,_PDataYMax+1
050A 2416 cp R2,R20
050C 3506 cpc R3,R21
050E 1CF4 brge L81
0510 .dbline 347
0510 ; {
0510 .dbline 348
0510 ; ModelContJuge =1;
0510 81E0 ldi R24,1
0512 80932F00 sts _ModelContJuge,R24
0516 .dbline 349
0516 ; }
0516 .dbline 350
0516 ; break;
0516 .dbline 353
0516 ; }
0516 ; case 5:
0516 ; {
0516 .dbline 354
0516 ; break;
0516 L80:
0516 L81:
0516 .dbline 357
0516 04E0 ldi R16,4
0518 10E0 ldi R17,0
051A DADE xcall _RAM_Read
051C 202E mov R2,R16
051E 05E0 ldi R16,5
0520 10E0 ldi R17,0
0522 2F92 push R2
0524 D5DE xcall _RAM_Read
0526 2F90 pop R2
0528 402E mov R4,R16
052A 5524 clr R5
052C 542C mov R5,R4
052E 4424 clr R4
0530 3324 clr R3
0532 2420 and R2,R4
0534 3520 and R3,R5
0536 30922E00 sts _ModelDelayTime+1,R3
053A 20922D00 sts _ModelDelayTime,R2
053E .dbline 358
053E L78:
053E .dbline -2
053E L77:
053E 0E940000 xcall pop_gset2
0542 .dbline 0 ; func end
0542 0895 ret
0544 .dbsym r PFileMax 20 I
0544 .dbsym r file_length 22 i
0544 .dbend
0544 .dbfunc e KEY_event _KEY_event
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -