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

📄 basal_reader_de.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0262  2E0A              LD      L,10
   \   0264  DD4EFC            LD      C,(IX-4)
   \   0267  DD46FD            LD      B,(IX-3)
   \   026A  09                ADD     HL,BC
   \   026B  AF                XOR     A
   \   026C  77                LD      (HL),A
   \   026D  23                INC     HL
   \   026E  77                LD      (HL),A
   \   026F  23                INC     HL
   \   0270  77                LD      (HL),A
   \   0271  23                INC     HL
   \   0272  77                LD      (HL),A
   \   0273            ?0038:
    131              }
    132          
    133              if( !DealMode )
   \   0273  AF                XOR     A
   \   0274  DDB6FE            OR      (IX-2)
   \   0277  2005              JR      NZ,?0040
   \   0279            ?0039:
    134                  ClearScreen(NULL);
   \   0279  5F                LD      E,A
   \   027A  57                LD      D,A
   \   027B  CD0000            CALL    LWRD ClearScreen
   \   027E            ?0040:
    135          
    136          
    137          
    138              ReReadFlag = TRUE;  // 读入数据
    139              ReadFileLength = ViewFileStructPoint->CurrentSeek;
   \   027E  210A00            LD      HL,10
   \   0281  DD4EFC            LD      C,(IX-4)
   \   0284  DD46FD            LD      B,(IX-3)
   \   0287  09                ADD     HL,BC
   \   0288  5E                LD      E,(HL)
   \   0289  23                INC     HL
   \   028A  56                LD      D,(HL)
   \   028B  23                INC     HL
   \   028C  4E                LD      C,(HL)
   \   028D  23                INC     HL
   \   028E  46                LD      B,(HL)
   \   028F  EB                EX      DE,HL
   \   0290  DD75F8            LD      (IX-8),L
   \   0293  DD74F9            LD      (IX-7),H
   \   0296  DD71FA            LD      (IX-6),C
   \   0299  DD70FB            LD      (IX-5),B
    140              RowHeadPosition = 0;
    141              for( row=0; row<SCR_ROW; )
   \   029C  DD36EF01          LD      (IX-17),1
   \   02A0  FD210000          LD      IY,0
   \   02A4  DD36ED00          LD      (IX-19),0
   \   02A8            ?0042:
   \   02A8  DD7EED            LD      A,(IX-19)
   \   02AB  FE07              CP      7
   \   02AD  D27204            JP      NC,?0041
   \   02B0            ?0043:
    142              {
    143                  if( ReReadFlag )
   \   02B0  AF                XOR     A
   \   02B1  DDB6EF            OR      (IX-17)
   \   02B4  CA4003            JP      Z,?0054
   \   02B7            ?0044:
    144                  {
    145                      ReReadFlag = FALSE;
    146                      ReadFileLength += RowHeadPosition;     // 已读长度 + 显示长度
   \   02B7  210C00            LD      HL,12
   \   02BA  39                ADD     HL,SP
   \   02BB  FDE5              PUSH    IY
   \   02BD  D1                POP     DE
   \   02BE  010000            LD      BC,0
   \   02C1  CD0000            CALL    LWRD ?L_ADDASG_L03
    147                      LeftFileLength -= RowHeadPosition;  // 剩余长度 - 显示长度
   \   02C4  210800            LD      HL,8
   \   02C7  39                ADD     HL,SP
   \   02C8  FDE5              PUSH    IY
   \   02CA  D1                POP     DE
   \   02CB  010000            LD      BC,0
   \   02CE  CD0000            CALL    LWRD ?L_SUBASG_L03
    148                      RowHeadPosition = 0;
    149          
    150                      if( LeftFileLength == 0 )
   \   02D1  DD36EF00          LD      (IX-17),0
   \   02D5  FD210000          LD      IY,0
   \   02D9  7B                LD      A,E
   \   02DA  B2                OR      D
   \   02DB  B1                OR      C
   \   02DC  B0                OR      B
   \   02DD  CA7204            JP      Z,?0041
   \   02E0            ?0046:
    151                          break;          // 读文件结束
   \   02E0            ?0047:
    152                      if( LeftFileLength > BUFF_ONE_ROW *2)    
   \   02E0  DD6EF6            LD      L,(IX-10)
   \   02E3  DD66F7            LD      H,(IX-9)
   \   02E6  E5                PUSH    HL
   \   02E7  DD6EF4            LD      L,(IX-12)
   \   02EA  DD66F5            LD      H,(IX-11)
   \   02ED  E5                PUSH    HL
   \   02EE  010000            LD      BC,0
   \   02F1  212800            LD      HL,40
   \   02F4  CD0000            CALL    LWRD ?SL_CMP_L03
   \   02F7  3008              JR      NC,?0049
   \   02F9            ?0048:
    153                          ReadLengthOneTime = BUFF_ONE_ROW*2;
   \   02F9  DD75F2            LD      (IX-14),L
   \   02FC  DD70F3            LD      (IX-13),B
    154                      else
   \   02FF  180C              JR      ?0050
   \   0301            ?0049:
    155                          ReadLengthOneTime = LeftFileLength;
   \   0301  DD6EF4            LD      L,(IX-12)
   \   0304  DD66F5            LD      H,(IX-11)
   \   0307  DD75F2            LD      (IX-14),L
   \   030A  DD74F3            LD      (IX-13),H
   \   030D            ?0050:
    156          
    157                      str = read_buff(ViewFileStructPoint, ReadFileLength, ReadLengthOneTime );
   \   030D  DD66F3            LD      H,(IX-13)
   \   0310  E5                PUSH    HL
   \   0311  DD6EFA            LD      L,(IX-6)
   \   0314  DD66FB            LD      H,(IX-5)
   \   0317  E5                PUSH    HL
   \   0318  DD6EF8            LD      L,(IX-8)
   \   031B  DD66F9            LD      H,(IX-7)
   \   031E  E5                PUSH    HL
   \   031F  CDD504            CALL    LWRD ?0191
   \   0322  F1                POP     AF
   \   0323  F1                POP     AF
   \   0324  F1                POP     AF
   \   0325  DD75F0            LD      (IX-16),L
   \   0328  DD74F1            LD      (IX-15),H
    158                      if( str == NULL )
   \   032B  7D                LD      A,L
   \   032C  B4                OR      H
   \   032D  2004              JR      NZ,?0052
   \   032F            ?0051:
    159                          return 0;
   \   032F  68                LD      L,B
   \   0330  C3D204            JP      LWRD ?0092
   \   0333            ?0052:
    160                          
    161                      if(row==0)                             //取当前屏第一行的数据作为书签的标题
   \   0333  AF                XOR     A
   \   0334  DDB6ED            OR      (IX-19)
   \   0337  2007              JR      NZ,?0054
   \   0339            ?0053:
    162                      {
    163                      memcpy(fileName,str,sizeof(fileName));    //fileName--当前建立书签时的标题           
   \   0339  0E32              LD      C,50
   \   033B  110000            LD      DE,fileName
   \   033E  EDB0              LDIR
   \   0340            ?0054:
   \   0340            ?0045:
   \   0340            ?0056:
    164                      }  
    165                  }
    166          
    167                  for( ; RowHeadPosition<ReadLengthOneTime; RowHeadPosition++ )
   \   0340  DD4EF2            LD      C,(IX-14)
   \   0343  DD46F3            LD      B,(IX-13)
   \   0346  FDE5              PUSH    IY
   \   0348  E1                POP     HL
   \   0349  A7                AND     A
   \   034A  ED42              SBC     HL,BC
   \   034C  3022              JR      NC,?0055
   \   034E            ?0057:
    168                  {
    169                      CLEAR_WATCHDOG();   //清WATCH DOG
   \   034E  DB4E              IN      A,(78)
   \   0350  CBDF              SET     3,A
   \   0352  D34E              OUT     (78),A
    170                      // 过滤 0x0d & 0x0a
    171                      if( str[RowHeadPosition]!=0x0d && str[RowHeadPosition]!=0x0a )
   \   0354  FDE5              PUSH    IY
   \   0356  E1                POP     HL
   \   0357  DD4EF0            LD      C,(IX-16)
   \   035A  DD46F1            LD      B,(IX-15)
   \   035D  09                ADD     HL,BC
   \   035E  7E                LD      A,(HL)
   \   035F  FE0D              CP      13
   \   0361  2809              JR      Z,?0060
   \   0363  FDE5              PUSH    IY
   \   0365  E1                POP     HL
   \   0366  09                ADD     HL,BC
   \   0367  7E                LD      A,(HL)
   \   0368  FE0A              CP      10
   \   036A  2004              JR      NZ,?0055
   \   036C            ?0062:
   \   036C            ?0061:
   \   036C            ?0059:
    172                          break;
   \   036C            ?0060:
   \   036C  FD23              INC     IY
   \   036E  18D0              JR      ?0054
   \   0370            ?0055:
    173                  }
    174          
    175                  if( (RowHeadPosition==ReadLengthOneTime) || ((RowHeadPosition+SCR_COL>=ReadLengthOneTime) && (ReadLengthOneTime!=LeftFileLength)) )
   \   0370  DD6EF2            LD      L,(IX-14)
   \   0373  DD66F3            LD      H,(IX-13)
   \   0376  FDE5              PUSH    IY
   \   0378  C1                POP     BC
   \   0379  A7                AND     A
   \   037A  ED42              SBC     HL,BC
   \   037C  2829              JR      Z,?0181
   \   037E  211400            LD      HL,20
   \   0381  09                ADD     HL,BC
   \   0382  DD4EF2            LD      C,(IX-14)
   \   0385  DD46F3            LD      B,(IX-13)
   \   0388  A7                AND     A
   \   0389  ED42              SBC     HL,BC
   \   038B  3821              JR      C,?0064
   \   038D  69                LD      L,C
   \   038E  60                LD      H,B
   \   038F  110000            LD      DE,0
   \   0392  DD4EF4            LD      C,(IX-12)
   \   0395  DD46F5            LD      B,(IX-11)
   \   0398  ED42              SBC     HL,BC
   \   039A  200B              JR      NZ,?0181
   \   039C  EB                EX      DE,HL
   \   039D  DD4EF6            LD      C,(IX-10)
   \   03A0  DD46F7            LD      B,(IX-9)
   \   03A3  ED42              SBC     HL,BC
   \   03A5  2807              JR      Z,?0064
   \   03A7            ?0181:
   \   03A7            ?0068:
   \   03A7            ?0067:
   \   03A7            ?0065:
   \   03A7            ?0066:
   \   03A7            ?0063:
    176                  {
    177                      ReReadFlag = TRUE;      // 需要重新读入数据(第一种情况是一次读取的数据已经显示完毕;
   \   03A7  DD36EF01          LD      (IX-17),1
    178                                  //第二种情况是一次读取的剩余数据不足显示一行)
    179                  }
    180                  else
   \   03AB  C3A802            JP      LWRD ?0042
   \   03AE            ?0064:
    181                  {
    182                      // 计算显示一行的字数(包括汉字或英文字)
    183                      for( col=CountWords=0; (col<SCR_COL)&&(RowHeadPosition+col<ReadLengthOneTime); CountWords++ )    
   \   03AE  DD36EE00          LD      (IX-18),0
   \   03B2  DD36EC00          LD      (IX-20),0
   \   03B6            ?0071:
   \   03B6  DD7EEC            LD      A,(IX-20)
   \   03B9  FE14              CP      20
   \   03BB  3065              JR      NC,?0070
   \   03BD  4F                LD      C,A
   \   03BE  0600              LD      B,0
   \   03C0  FDE5              PUSH    IY
   \   03C2  E1                POP     HL
   \   03C3  09                ADD     HL,BC
   \   03C4  DD4EF2            LD      C,(IX-14)
   \   03C7  DD46F3            LD      B,(IX-13)
   \   03CA  A7                AND     A
   \   03CB  ED42              SBC     HL,BC
   \   03CD  3053              JR      NC,?0070
   \   03CF            ?0074:
   \   03CF            ?0073:
   \   03CF            ?0072:
    184                      {
    185                          if( str[ RowHeadPosition+col ]==0x0d || str[ RowHeadPosition+col ]==0x0a )    //换行
   \   03CF  4F                LD      C,A
   \   03D0  0600              LD      B,0
   \   03D2  FDE5              PUSH    IY
   \   03D4  E1                POP     HL
   \   03D5  09                ADD     HL,BC
   \   03D6  DD4EF0            LD      C,(IX-16)
   \   03D9  DD46F1            LD      B,(IX-15)
   \   03DC  09                ADD     HL,BC
   \   03DD  7E                LD      A,(HL)
   \   03DE  FE0D              CP      13
   \   03E0  2840              JR      Z,?0070
   \   03E2  DD4EEC            LD      C,(IX-20)
   \   03E5  0600              LD      B,0
   \   03E7  FDE5              PUSH    IY

⌨️ 快捷键说明

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