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

📄 basal_reader_de.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   053F  210A00            LD      HL,10
   \   0542  09                ADD     HL,BC
   \   0543  5E                LD      E,(HL)
   \   0544  23                INC     HL
   \   0545  56                LD      D,(HL)
   \   0546  23                INC     HL
   \   0547  4E                LD      C,(HL)
   \   0548  23                INC     HL
   \   0549  46                LD      B,(HL)
   \   054A  EB                EX      DE,HL
   \   054B  DD75EA            LD      (IX-22),L
   \   054E  DD74EB            LD      (IX-21),H
   \   0551  DD71EC            LD      (IX-20),C
   \   0554  DD70ED            LD      (IX-19),B
   \   0557  DD36FA00          LD      (IX-6),0
   \   055B  AF                XOR     A
   \   055C  DD77F0            LD      (IX-16),A
   \   055F  DD77F1            LD      (IX-15),A
   \   0562  FD210000          LD      IY,0
   \   0566            ?0098:
    252              while( ReadFileLength != 0 )
   \   0566  DD7EEA            LD      A,(IX-22)
   \   0569  DDB6EB            OR      (IX-21)
   \   056C  DDB6EC            OR      (IX-20)
   \   056F  DDB6ED            OR      (IX-19)
   \   0572  CA5706            JP      Z,?0097
   \   0575            ?0099:
    253              {
    254                  if( ReadLengthOneTime == 0 )
   \   0575  FDE5              PUSH    IY
   \   0577  E1                POP     HL
   \   0578  7D                LD      A,L
   \   0579  B4                OR      H
   \   057A  2052              JR      NZ,?0101
   \   057C            ?0100:
    255                  {
    256                      if( ReadFileLength > BUFF_ONE_ROW *2)    
   \   057C  DD6EEC            LD      L,(IX-20)
   \   057F  DD66ED            LD      H,(IX-19)
   \   0582  E5                PUSH    HL
   \   0583  DD6EEA            LD      L,(IX-22)
   \   0586  DD66EB            LD      H,(IX-21)
   \   0589  E5                PUSH    HL
   \   058A  4F                LD      C,A
   \   058B  47                LD      B,A
   \   058C  212800            LD      HL,40
   \   058F  CD0000            CALL    LWRD ?SL_CMP_L03
   \   0592  3006              JR      NC,?0103
   \   0594            ?0102:
    257                          ReadLengthOneTime = BUFF_ONE_ROW*2;
   \   0594  FD212800          LD      IY,40
    258                      else
   \   0598  1809              JR      ?0104
   \   059A            ?0103:
    259                          ReadLengthOneTime = ReadFileLength;
   \   059A  DD6EEA            LD      L,(IX-22)
   \   059D  DD66EB            LD      H,(IX-21)
   \   05A0  E5                PUSH    HL
   \   05A1  FDE1              POP     IY
   \   05A3            ?0104:
    260                      ReadFileLength -= ReadLengthOneTime;
   \   05A3  69                LD      L,C
   \   05A4  60                LD      H,B
   \   05A5  39                ADD     HL,SP
   \   05A6  FDE5              PUSH    IY
   \   05A8  D1                POP     DE
   \   05A9  CD0000            CALL    LWRD ?L_SUBASG_L03
    261          
    262                      str = read_buff(ViewFileStructPoint, ReadFileLength, ReadLengthOneTime );
   \   05AC  FDE5              PUSH    IY
   \   05AE  C5                PUSH    BC
   \   05AF  D5                PUSH    DE
   \   05B0  CDD504            CALL    LWRD ?0191
   \   05B3  F1                POP     AF
   \   05B4  F1                POP     AF
   \   05B5  F1                POP     AF
   \   05B6  DD75F2            LD      (IX-14),L
   \   05B9  DD74F3            LD      (IX-13),H
    263                      p = str + ReadLengthOneTime - 1;
   \   05BC  E5                PUSH    HL
   \   05BD  21FFFF            LD      HL,65535
   \   05C0  FDE5              PUSH    IY
   \   05C2  C1                POP     BC
   \   05C3  09                ADD     HL,BC
   \   05C4  4D                LD      C,L
   \   05C5  44                LD      B,H
   \   05C6  E1                POP     HL
   \   05C7  09                ADD     HL,BC
   \   05C8  DD75F4            LD      (IX-12),L
   \   05CB  DD74F5            LD      (IX-11),H
   \   05CE            ?0101:
   \   05CE            ?0106:
    264                  }
    265          
    266                  while( ReadLengthOneTime )
   \   05CE  FDE5              PUSH    IY
   \   05D0  E1                POP     HL
   \   05D1  7D                LD      A,L
   \   05D2  B4                OR      H
   \   05D3  282B              JR      Z,?0105
   \   05D5            ?0107:
    267                  {
    268                      CLEAR_WATCHDOG();   //清WATCH DOG
   \   05D5  DB4E              IN      A,(78)
   \   05D7  CBDF              SET     3,A
   \   05D9  D34E              OUT     (78),A
    269                      // 过滤 0x0d & 0x0a
    270                      chr = *p --;
   \   05DB  DD6EF4            LD      L,(IX-12)
   \   05DE  DD66F5            LD      H,(IX-11)
   \   05E1  2B                DEC     HL
   \   05E2  DD75F4            LD      (IX-12),L
   \   05E5  DD74F5            LD      (IX-11),H
   \   05E8  23                INC     HL
   \   05E9  7E                LD      A,(HL)
    271                      ReadLengthOneTime --;
    272                      if( chr!=0x0d && chr!=0x0a )
   \   05EA  FE0D              CP      13
   \   05EC  FD2B              DEC     IY
   \   05EE  28DE              JR      Z,?0101
   \   05F0  FE0A              CP      10
   \   05F2  28DA              JR      Z,?0101
   \   05F4            ?0111:
   \   05F4            ?0110:
   \   05F4            ?0108:
    273                      {
    274                          ByteCount += 1;
   \   05F4  DD34F0            INC     (IX-16)
   \   05F7  2003              JR      NZ,?0182
   \   05F9  DD34F1            INC     (IX-15)
   \   05FC            ?0182:
    275                          ReturnFlag = FALSE;  // 0x0D, 0x0A 标志
   \   05FC  DD36FA00          LD      (IX-6),0
    276                          break;
   \   0600            ?0109:
   \   0600            ?0105:
   \   0600            ?0113:
    277                      }
    278                  }
    279          
    280                  while( ReadLengthOneTime )
   \   0600  FDE5              PUSH    IY
   \   0602  E1                POP     HL
   \   0603  7D                LD      A,L
   \   0604  B4                OR      H
   \   0605  282F              JR      Z,?0112
   \   0607            ?0114:
    281                  {
    282                      CLEAR_WATCHDOG();   //清WATCH DOG
   \   0607  DB4E              IN      A,(78)
   \   0609  CBDF              SET     3,A
   \   060B  D34E              OUT     (78),A
    283                      chr = *p --;
   \   060D  DD6EF4            LD      L,(IX-12)
   \   0610  DD66F5            LD      H,(IX-11)
   \   0613  2B                DEC     HL
   \   0614  DD75F4            LD      (IX-12),L
   \   0617  DD74F5            LD      (IX-11),H
   \   061A  23                INC     HL
   \   061B  7E                LD      A,(HL)
    284                      ReadLengthOneTime --;
    285                      if( chr==0x0d || chr==0x0a )
   \   061C  FE0D              CP      13
   \   061E  FD2B              DEC     IY
   \   0620  2804              JR      Z,?0117
   \   0622  FE0A              CP      10
   \   0624  2006              JR      NZ,?0116
   \   0626            ?0117:
   \   0626            ?0118:
   \   0626            ?0115:
    286                      {
    287                          ReturnFlag = TRUE;   // 0x0D, 0x0A 标志
   \   0626  DD36FA01          LD      (IX-6),1
    288                          break;
   \   062A  180A              JR      ?0112
   \   062C            ?0116:
    289                      }
    290                      ByteCount ++;
   \   062C  DD34F0            INC     (IX-16)
   \   062F  20CF              JR      NZ,?0105
   \   0631  DD34F1            INC     (IX-15)
   \   0634  18CA              JR      ?0105
   \   0636            ?0112:
    291                  }
    292                  if((ByteCount >= SCR_COL*SCR_ROW) && ReturnFlag )
   \   0636  018C00            LD      BC,140
   \   0639  DD6EF0            LD      L,(IX-16)
   \   063C  DD66F1            LD      H,(IX-15)
   \   063F  A7                AND     A
   \   0640  ED42              SBC     HL,BC
   \   0642  DA6605            JP      C,?0098
   \   0645  AF                XOR     A
   \   0646  DDB6FA            OR      (IX-6)
   \   0649  CA6605            JP      Z,?0098
   \   064C            ?0122:
   \   064C            ?0121:
   \   064C            ?0119:
    293                  {
    294                      ReadFileLength += ReadLengthOneTime + 1;
   \   064C  68                LD      L,B
   \   064D  60                LD      H,B
   \   064E  39                ADD     HL,SP
   \   064F  FDE5              PUSH    IY
   \   0651  D1                POP     DE
   \   0652  13                INC     DE
   \   0653  48                LD      C,B
   \   0654  CD0000            CALL    LWRD ?L_ADDASG_L03
    295                      break;
   \   0657            ?0120:
   \   0657            ?0097:
    296                  }
    297              }
    298          
    299              // 计算向前翻页的字符数
    300              memset( lBakSeek, 0, sizeof(lBakSeek) );
   \   0657  012000            LD      BC,32
   \   065A  110000            LD      DE,lBakSeek
   \   065D  68                LD      L,B
   \   065E  CD0000            CALL    LWRD ?MEMSET_L11
    301              lBakSeek[ 0 ] = ReadFileLength;
   \   0661  DD4EEC            LD      C,(IX-20)
   \   0664  DD46ED            LD      B,(IX-19)
   \   0667  DD6EEA            LD      L,(IX-22)
   \   066A  DD66EB            LD      H,(IX-21)
   \   066D  220000            LD      (lBakSeek),HL
   \   0670  ED430200          LD      (lBakSeek+2),BC
    302              if(ReadFileLength==0)
   \   0674  7D                LD      A,L
   \   0675  B4                OR      H
   \   0676  B1                OR      C
   \   0677  B0                OR      B
   \   0678  2004              JR      NZ,?0124
   \   067A            ?0123:
    303              {
    304               FileHeadFlag=1;
   \   067A  DD36FB01          LD      (IX-5),1
   \   067E            ?0124:
    305              }
    306              RowHeadPosition = 0;
    307              ReReadFlag = TRUE;   // 读数据标志
    308              ByteCount = ViewFileStructPoint->CurrentSeek - ReadFileLength;
   \   067E  E5                PUSH    HL
   \   067F  210A00            LD      HL,10
   \   0682  DD5EFC            LD      E,(IX-4)
   \   0685  DD56FD            LD      D,(IX-3)
   \   0688  19                ADD     HL,DE
   \   0689  4E                LD      C,(HL)
   \   068A  23                INC     HL
   \   068B  66                LD      H,(HL)
   \   068C  69                LD      L,C
   \   068D  C1                POP     BC
   \   068E  A7                AND     A
   \   068F  ED42              SBC     HL,BC
   \   0691  DD75F0            LD      (IX-16),L
   \   0694  DD74F1            LD      (IX-15),H
    309              for( row=0; ; )
   \   0697  AF                XOR     A
   \   0698  DD77EE            LD      (IX-18),A
   \   069B  DD77EF            LD      (IX-17),A
   \   069E  DD36F901          LD      (IX-7),1
   \   06A2  DD77F8            LD      (IX-8),A
   \   06A5            ?0126:
    310              {
    311                  if( ReReadFlag )
   \   06A5  AF                XOR     A
   \   06A6  DDB6F9            OR      (IX-7)
   \   06A9  286E              JR      Z,?0135
   \   06AB            ?0127:
    312                  {
    313                      ReReadFlag = FALSE;                    // 读数据标志
    314                      ReadFileLength += RowHeadPosition;         // 已读长度 + 显示长度
   \   

⌨️ 快捷键说明

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