⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mb90092.lst

📁 输出视频的字符的软件
💻 LST
📖 第 1 页 / 共 3 页
字号:
 433   3                                  if(offset_biggest>(8-i))
 434   3                                     {
 435   4                                            for(j=offset_biggest;j>(offset_biggest-(8-i));j--)
 436   4                                                {
 437   5                                                read_block=0x000000+j*0x100;
 438   5                                                Config_Word(i+offset_biggest-j);
 439   5                                                }
 440   4                                      }
 441   3                                     else
 442   3                                             {
 443   4                                             for(j=offset_biggest;j>-1;j--)
 444   4                                             {
 445   5                                              read_block=j*0x100;
 446   5                                              Config_Word(i+offset_biggest-j);
 447   5                                               }
 448   4      //公用信息第一区域显示完成,显示第二区域;
 449   4                                          for(j=15;j>(7+i+offset_biggest);i--)
 450   4                                              {
 451   5                                                read_block=address_pointer+i*0x100;
 452   5                                                Config_Word(16+i+offset_biggest-j);
 453   5                                                }
 454   4                                             }
 455   3                                      }
 456   2                      }
 457   1                                         
 458   1                 else     //no personal message
 459   1                      {
 460   2                          if(wink_offset>7)
 461   2                                     {
 462   3                                  if(offset_biggest>=(wink_offset-1))           //full of display in lineable
 463   3                                     {
 464   4                                            for(j=offset_biggest;j<(offset_biggest-(8-i));j--)
 465   4                                                {
 466   5                                               read_block=0x000000+j*0x100;
 467   5                                               Config_Word(offset_biggest-j);
 468   5                                               }
 469   4                                     }
 470   3                                     else
 471   3                                             {
 472   4                                             for(j=offset_biggest;j>-1;j--)
 473   4                                             {
 474   5                                                    read_block=j*0x100;
 475   5                                              Config_Word(offset_biggest-j);
 476   5                                               }
 477   4      //公用信息第一区域显示完成,显示第二区域;
 478   4                                          for(j=15;j>(7+offset_biggest);i--)
 479   4                                              {
 480   5                                                    read_block=address_pointer+j*0x100;
 481   5                                                Config_Word(16+offset_biggest-j);
 482   5                                                }
 483   4                                             }
 484   3                                      }
 485   2                      //not full of pub_message
 486   2                              else
 487   2                                       {
 488   3                                       for(j=offset_biggest;j>-1;j--)
C51 COMPILER V7.02b   MB90092                                                              06/20/2006 18:46:35 PAGE 9   

 489   3                                     {
 490   4                                           read_block=(ulong)(j*0x100);
 491   4                                      Config_Word(offset_biggest-j);
 492   4                                       }
 493   3      //公用信息第一区域显示完成,显示第二区域;
 494   3                                    if(wink_offset>(offset_biggest+1))
 495   3                                        {
 496   4                                               for(j=15;j>(7+offset_biggest);i--)
 497   4                                           {
 498   5                                                 read_block=address_pointer+j*0x100;
 499   5                                            Config_Word(16+offset_biggest-j);
 500   5                                             }
 501   4                                                }
 502   3                                      }
 503   2                      }
 504   1      }
 505          
 506          /*-----------------------------------------*/
 507          /*                 构置一幅完整的信息画面
 508          描述:在已知read_block的情况下,需要显示完整画面
 509                必须要带来的read_block,infonumber
 510          */
 511          /*---------------------------------------*/
 512          void Config_Screen()
 513          {
 514   1          bit  Double_bit,puntuation_bit;
 515   1          uchar data i,j,k,Line,Collum;
 516   1              uint data temp,High_Char;
 517   1              uchar xdata *mm;
 518   1      
 519   1                             j=(uchar)(read_block>>16);
 520   1                             P1=j;
 521   1                             AUXR=0x03;
 522   1      
 523   1                                 Line=0;
 524   1                                 Collum=2;
 525   1                                 Double_bit=FALSE;
 526   1                                 puntuation_bit=FALSE;
 527   1                                 High_Char=0x0000;
 528   1      
 529   1                                 mm=read_block+1;
 530   1                                 k=*mm;
 531   1      
 532   1                                 for(i=2;i<(k+2);i++)
 533   1                                 {
 534   2                                 AUXR=0x03;           
 535   2                      mm=read_block+i;
 536   2                                      j=*mm;
 537   2                                      AUXR=0x00;
 538   2                                      if(Double_bit)   //双字节才是一个字
 539   2                                        {
 540   3                                         if(puntuation_bit)
 541   3                                           {
 542   4                                                j=j-0xa0;
 543   4                                                puntuation_bit=FALSE;
 544   4                                                }
 545   3                                            temp=High_Char+j;
 546   3                                            Double_bit=FALSE;
 547   3                                        if(Collum>15)
 548   3                                            {
 549   4                                                      Line++;
 550   4                                          Collum=2;
C51 COMPILER V7.02b   MB90092                                                              06/20/2006 18:46:35 PAGE 10  

 551   4                                                      disp_num(Line,Collum,temp,1,1);
 552   4                                                 }
 553   3                                          else
 554   3                                             {
 555   4                                                      Collum++;
 556   4                                                      disp_num(Line,Collum,temp,1,1);
 557   4                                                      }
 558   3      
 559   3                                        }
 560   2                                      else
 561   2                                        {
 562   3                                         if(j<0x9f)
 563   3                                              {
 564   4                                                       temp=(uint)(j);
 565   4                                                       if(Collum>15)
 566   4                                                          {
 567   5                                                               Line++;
 568   5                                                               Collum=2;
 569   5                                                           disp_num(Line,Collum,temp,1,1);
 570   5                                                               }
 571   4                                                       else
 572   4                                                           {
 573   5                                                            Collum++;
 574   5                                                        disp_num(Line,Collum,temp,1,1);
 575   5                                                                }
 576   4                                                      }
 577   3                                              else
 578   3                                                  {
 579   4                                                       if(j==0xa3)
 580   4                                                          {
 581   5                                                               j=0x00;
 582   5                                                               puntuation_bit=TRUE;
 583   5                                                               }
 584   4                                                           High_Char=(uint)(j);
 585   4                                                           High_Char=High_Char<<8;
 586   4                                                           Double_bit=TRUE;
 587   4                                                       }
 588   3                                              }
 589   2                                      }
 590   1      }
 591          /*------------------------------------------------*/
 592          /*                            主屏显示
 593          
 594          描述:根据self_newscount, pub_newscount, wink_offset, address_pointer
 595                      的变量指示,计算出相应读取地址,根据
 596                      读取得字数,显示信息具体内容
 597          
 598          */
 599          /*------------------------------------------------*/
 600          void disp_main()
 601          {
 602   1              uchar data  i;
 603   1      
 604   1              send_byte(0xab);/*--------command 5----------*/
 605   1          send_byte(0x00);
 606   1      
 607   1          i=self_newscount+pub_newscount- wink_offset;
 608   1              if(i<self_newscount)              //in self messages     zone
 609   1              {
 610   2                      if(self_bigoffset>=i)//在下方
 611   2                      {
 612   3                   read_block=address_pointer+(self_bigoffset-i)*0x100;
C51 COMPILER V7.02b   MB90092                                                              06/20/2006 18:46:35 PAGE 11  

 613   3               Config_Screen();
 614   3                       }
 615   2                      
 616   2                      else       //在上方
 617   2                      {
 618   3                   read_block=address_pointer+(16+self_bigoffset-i)*0x100;
 619   3               Config_Screen();
 620   3                      }
 621   2              }
 622   1              else    //in pub messages zone
 623   1              {
 624   2                      if(pub_bigoffset>=(i-self_newscount))
 625   2                      {
 626   3                   read_block=(uint)((pub_bigoffset-(i-self_newscount))*0x100);
 627   3               Config_Screen();
 628   3                       }
 629   2                      
 630   2                      else       //
 631   2                      {
 632   3                   read_block=(16+pub_bigoffset-(i-self_newscount))*0x100;
 633   3               Config_Screen();
 634   3                      }
 635   2              }
 636   1      }
 637          
 638          
 639          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2089    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      27
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -