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

📄 bookmark.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
    174                  { // 书签文件已存在,初始化书签列表    
    175          
    176                      FS_FRead(buf, 1, g_bookmark_handle);          
   \   01EC  E5                PUSH    HL
   \   01ED  0E01              LD      C,1
   \   01EF  110000            LD      DE,buf
   \   01F2  CD0000            CALL    LWRD FS_FRead
   \   01F5  E1                POP     HL
    177                      for (i = 0; i <FILESIZE/(NODELEN*2); i++ )
   \   01F6  110000            LD      DE,0
   \   01F9            ?0026:
   \   01F9  011080            LD      BC,32784
   \   01FC  6B                LD      L,E
   \   01FD  62                LD      H,D
   \   01FE  78                LD      A,B
   \   01FF  AC                XOR     H
   \   0200  67                LD      H,A
   \   0201  ED42              SBC     HL,BC
   \   0203  3014              JR      NC,?0025
   \   0205            ?0027:
    178                      {
    179                          split_node(&buf[i*NODELEN],i);
   \   0205  D5                PUSH    DE
   \   0206  D5                PUSH    DE
   \   0207  EB                EX      DE,HL
   \   0208  29                ADD     HL,HL
   \   0209  29                ADD     HL,HL
   \   020A  29                ADD     HL,HL
   \   020B  29                ADD     HL,HL
   \   020C  010000            LD      BC,buf
   \   020F  09                ADD     HL,BC
   \   0210  EB                EX      DE,HL
   \   0211  C1                POP     BC
   \   0212  CD1C01            CALL    LWRD split_node
   \   0215  D1                POP     DE
   \   0216  13                INC     DE
   \   0217  18E0              JR      ?0026
   \   0219            ?0025:
    180                      }
    181                      return 0;
   \   0219  2E00              LD      L,0
    182                  }
   \   021B  1802              JR      ?0029
   \   021D            ?0019:
    183              }
    184              
    185              return 1;
   \   021D  2E01              LD      L,1
    186          }
   \   021F            ?0029:
   \   021F  EB                EX      DE,HL
   \   0220  210C00            LD      HL,12
   \   0223  39                ADD     HL,SP
   \   0224  F9                LD      SP,HL
   \   0225  EB                EX      DE,HL
   \   0226  DDE1              POP     IX
   \   0228  D1                POP     DE
   \   0229  C1                POP     BC
   \   022A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   022D            close_bookmark:
    187                  
    188                      
    189          /**
    190           * Description: 关闭书签功能
    191           *
    192           * @return(s) : 0-success;1-failure 
    193           */
    194          bool close_bookmark()
    195          {
   \   022D  C5                PUSH    BC
   \   022E  D5                PUSH    DE
   \   022F  DDE5              PUSH    IX
    196              int i = 0;
   \   0231  DD210000          LD      IX,0
   \   0235            ?0031:
    197          //    UChar buf[FILESIZE];
    198              while (( 0xFFFFFFFF != bkmarks[i].offset)&&(i<MAX_BKMARK_NUM) )
   \   0235  DDE5              PUSH    IX
   \   0237  E1                POP     HL
   \   0238  29                ADD     HL,HL
   \   0239  29                ADD     HL,HL
   \   023A  29                ADD     HL,HL
   \   023B  29                ADD     HL,HL
   \   023C  010300            LD      BC,bkmarks
   \   023F  09                ADD     HL,BC
   \   0240  7E                LD      A,(HL)
   \   0241  23                INC     HL
   \   0242  A6                AND     (HL)
   \   0243  23                INC     HL
   \   0244  A6                AND     (HL)
   \   0245  23                INC     HL
   \   0246  A6                AND     (HL)
   \   0247  3C                INC     A
   \   0248  2853              JR      Z,?0030
   \   024A  011080            LD      BC,32784
   \   024D  DDE5              PUSH    IX
   \   024F  E1                POP     HL
   \   0250  78                LD      A,B
   \   0251  AC                XOR     H
   \   0252  67                LD      H,A
   \   0253  ED42              SBC     HL,BC
   \   0255  3046              JR      NC,?0030
   \   0257            ?0034:
   \   0257            ?0033:
   \   0257            ?0032:
    199              {
    200                  hex2str( &buf[i*NODELEN], bkmarks[i].offset );
   \   0257  DDE5              PUSH    IX
   \   0259  E1                POP     HL
   \   025A  29                ADD     HL,HL
   \   025B  29                ADD     HL,HL
   \   025C  29                ADD     HL,HL
   \   025D  29                ADD     HL,HL
   \   025E  010300            LD      BC,bkmarks
   \   0261  09                ADD     HL,BC
   \   0262  4E                LD      C,(HL)
   \   0263  23                INC     HL
   \   0264  46                LD      B,(HL)
   \   0265  23                INC     HL
   \   0266  5E                LD      E,(HL)
   \   0267  23                INC     HL
   \   0268  56                LD      D,(HL)
   \   0269  D5                PUSH    DE
   \   026A  C5                PUSH    BC
   \   026B  DDE5              PUSH    IX
   \   026D  E1                POP     HL
   \   026E  29                ADD     HL,HL
   \   026F  29                ADD     HL,HL
   \   0270  29                ADD     HL,HL
   \   0271  29                ADD     HL,HL
   \   0272  010000            LD      BC,buf
   \   0275  09                ADD     HL,BC
   \   0276  EB                EX      DE,HL
   \   0277  CD8700            CALL    LWRD hex2str
   \   027A  F1                POP     AF
   \   027B  F1                POP     AF
    201                  memcpy( &buf[i*NODELEN+sizeof(UInt32)], bkmarks[i].title,sizeof(bkmarks[i].title));
   \   027C  DDE5              PUSH    IX
   \   027E  E1                POP     HL
   \   027F  29                ADD     HL,HL
   \   0280  29                ADD     HL,HL
   \   0281  29                ADD     HL,HL
   \   0282  29                ADD     HL,HL
   \   0283  EB                EX      DE,HL
   \   0284  210400            LD      HL,buf+4
   \   0287  19                ADD     HL,DE
   \   0288  EB                EX      DE,HL
   \   0289  DDE5              PUSH    IX
   \   028B  E1                POP     HL
   \   028C  29                ADD     HL,HL
   \   028D  29                ADD     HL,HL
   \   028E  29                ADD     HL,HL
   \   028F  29                ADD     HL,HL
   \   0290  010700            LD      BC,bkmarks+4
   \   0293  09                ADD     HL,BC
   \   0294  010C00            LD      BC,12
   \   0297  EDB0              LDIR
    202                  i++;
   \   0299  DD23              INC     IX
   \   029B  1898              JR      ?0031
   \   029D            ?0030:
    203              }
    204              if( 0xFFFFFFFF == bkmarks[i].offset)     //删除一个书签后要将offset清为0xffffffff
   \   029D  DDE5              PUSH    IX
   \   029F  E1                POP     HL
   \   02A0  29                ADD     HL,HL
   \   02A1  29                ADD     HL,HL
   \   02A2  29                ADD     HL,HL
   \   02A3  29                ADD     HL,HL
   \   02A4  010300            LD      BC,bkmarks
   \   02A7  09                ADD     HL,BC
   \   02A8  7E                LD      A,(HL)
   \   02A9  23                INC     HL
   \   02AA  A6                AND     (HL)
   \   02AB  23                INC     HL
   \   02AC  A6                AND     (HL)
   \   02AD  23                INC     HL
   \   02AE  A6                AND     (HL)
   \   02AF  3C                INC     A
   \   02B0  2016              JR      NZ,?0036
   \   02B2            ?0035:
    205              hex2str(&buf[i*NODELEN],0xffffffff);     
   \   02B2  21FFFF            LD      HL,65535
   \   02B5  E5                PUSH    HL
   \   02B6  E5                PUSH    HL
   \   02B7  DDE5              PUSH    IX
   \   02B9  E1                POP     HL
   \   02BA  29                ADD     HL,HL
   \   02BB  29                ADD     HL,HL
   \   02BC  29                ADD     HL,HL
   \   02BD  29                ADD     HL,HL
   \   02BE  010000            LD      BC,buf
   \   02C1  09                ADD     HL,BC
   \   02C2  EB                EX      DE,HL
   \   02C3  CD8700            CALL    LWRD hex2str
   \   02C6  F1                POP     AF
   \   02C7  F1                POP     AF
   \   02C8            ?0036:
    206              result=FS_FWrite(buf, 1, g_bookmark_handle);
   \   02C8  2A0100            LD      HL,(g_bookmark_handle)
   \   02CB  E5                PUSH    HL
   \   02CC  0E01              LD      C,1
   \   02CE  110000            LD      DE,buf
   \   02D1  CD0000            CALL    LWRD FS_FWrite
   \   02D4  E1                POP     HL
   \   02D5  320000            LD      (result),A
    207              FS_FClose(g_bookmark_handle);
   \   02D8  ED5B0100          LD      DE,(g_bookmark_handle)
   \   02DC  CD0000            CALL    LWRD FS_FClose
    208              return 0; // always good;
   \   02DF  2E00              LD      L,0
    209          }
   \   02E1  DDE1              POP     IX
   \   02E3  D1                POP     DE
   \   02E4  C1                POP     BC
   \   02E5  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02E8            add_bookmark:
    210          
    211          
    212          /**
    213           * Description: add_bookmark-向书签列表加入一新的书签;若书签标题为空,
    214           *                则自动使用偏移位置作为标题
    215           *
    216           * @param(s)  : vf    - 结构的指针 
    217           * @param(s)  : title - 书签标题
    218           * @param(s)  : offset- 书签所在的绝对偏移位置
    219           * @return(s) : 0-success; 1-failure 
    220           */
    221          bool add_bookmark(STRUCT_VIEW_FILE *vf, UChar *title, UInt32 offset)
    222          {
   \   02E8  FDE5              PUSH    IY
   \   02EA  DDE5              PUSH    IX
   \   02EC  DD210000          LD      IX,0
   \   02F0  DD39              ADD     IX,SP
   \   02F2  C5                PUSH    BC
   \   02F3  D5                PUSH    DE
   \   02F4  21EEFF            LD      HL,65518
   \   02F7  39                ADD     HL,SP
   \   02F8  F9                LD      SP,HL
    223                int i;   
    224                UChar *tt;
    225                UInt32 CurFileLen,LeftFileLen;
    226                uint CurrentOffset,ReadLengthOneTime; 
    227               
    228                CurFileLen=vf->CurrentSeek;      
   \   02F9  210A00            LD      HL,10
   \   02FC  19                ADD     HL,DE
   \   02FD  4E                LD      C,(HL)
   \   02FE  23                INC     HL
   \   02FF  46                LD      B,(HL)
   \   0300  23                INC     HL
   \   0301  5E                LD      E,(HL)
   \   0302  23                INC     HL
   \   0303  56                LD      D,(HL)
   \   0304  DD71EE            LD      (IX-18),C
   \   0307  DD70EF            LD      (IX-17),B
   \   030A  DD73F0            LD      (IX-16),E
   \   030D  DD72F1            LD      (IX-15),D
    229          
    230                 tt=fileName;       
   \   0310  DD36EC00          LD      (IX-20),LOW(fileName)
   \   0314  DD36ED00          LD      (IX-19),HIGH(fileName)
   \   0318            ?0038:
    231          /////////////////////过滤回车换行 英文空格 中文空格  
    232                while((tt[0]==0x20)||(tt[0]==0x0a)||(tt[0]==0x0d)||(tt[0]==0xa1))
   \   0318  DD6EEC            LD      L,(IX-20)
   \   031B  DD66ED            LD      H,(IX-19)
   \   031E  7E                LD      A,(HL)
   \   031F  FE20              CP      32
   \   0321  280F              JR      Z,?0040
   \   0323  7E                LD      A,(HL)
   \   0324  FE0A              CP      10
   \   0326  280A              JR      Z,?0040
   \   0328  7E                LD      A,(HL)
   \   0329  FE0D              CP      13
   \   032B  2805              JR      Z,?0040
   \   032D  7E                LD      A,(HL)
   \   032E  FEA1              CP      161
   \   0330  2024              JR      NZ,?0037
   \   0332            ?0040:
   \   0332            ?0041:
   \   0332            ?0039:
    233                 {                
    234                  if(tt[0]==0xa1)
   \   0332  7E                LD      A,(HL)
   \   0333  FEA1              CP      161
   \   0335  2015              JR      NZ,?0043
   \   0337            ?0042:
    235                  { 
    236                    if(tt[1]==0xa1)
   \   0337  23                INC     HL

⌨️ 快捷键说明

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