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

📄 bookmark.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00BA  34                INC     (HL)
   \   00BB  18D7              JR      ?0007
   \   00BD            ?0006:
    106                  }
    107                  b[4] = 0;
   \   00BD  DD360400          LD      (IX+4),0
    108                  
    109                  return b;
   \   00C1  DDE5              PUSH    IX
   \   00C3  E1                POP     HL
    110          }
   \   00C4  F1                POP     AF
   \   00C5  DDE1              POP     IX
   \   00C7  C1                POP     BC
   \   00C8  C9                RET
   \   00C9            str2hex:
    111          
    112          static UInt32  
    113          str2hex(char *b)
    114          {
   \   00C9  DDE5              PUSH    IX
   \   00CB  F5                PUSH    AF
   \   00CC  F5                PUSH    AF
   \   00CD  F5                PUSH    AF
   \   00CE  D5                PUSH    DE
   \   00CF  DDE1              POP     IX
    115                  UInt32 ret=0;
    116                  byte  i = 0;
   \   00D1  210200            LD      HL,2
   \   00D4  39                ADD     HL,SP
   \   00D5  AF                XOR     A
   \   00D6  77                LD      (HL),A
   \   00D7  23                INC     HL
   \   00D8  77                LD      (HL),A
   \   00D9  23                INC     HL
   \   00DA  77                LD      (HL),A
   \   00DB  23                INC     HL
   \   00DC  77                LD      (HL),A
   \   00DD  6F                LD      L,A
   \   00DE  67                LD      H,A
   \   00DF  39                ADD     HL,SP
   \   00E0  77                LD      (HL),A
   \   00E1            ?0011:
    117                
    118                  for ( ; i < 4; i++ ) 
   \   00E1  7E                LD      A,(HL)
   \   00E2  FE04              CP      4
   \   00E4  210200            LD      HL,2
   \   00E7  3020              JR      NC,?0010
   \   00E9            ?0012:
    119                      ret = ret | ((UInt32)b[i]& 0x000000FF) << 8*i ;
   \   00E9  39                ADD     HL,SP
   \   00EA  E5                PUSH    HL
   \   00EB  87                ADD     A,A
   \   00EC  87                ADD     A,A
   \   00ED  87                ADD     A,A
   \   00EE  2B                DEC     HL
   \   00EF  2B                DEC     HL
   \   00F0  4E                LD      C,(HL)
   \   00F1  0600              LD      B,0
   \   00F3  DDE5              PUSH    IX
   \   00F5  E1                POP     HL
   \   00F6  09                ADD     HL,BC
   \   00F7  6E                LD      L,(HL)
   \   00F8  48                LD      C,B
   \   00F9  61                LD      H,C
   \   00FA  CD0000            CALL    LWRD ?L_LSH_L03
   \   00FD  EB                EX      DE,HL
   \   00FE  E1                POP     HL
   \   00FF  CD0000            CALL    LWRD ?L_ORASG_L03
   \   0102  210000            LD      HL,0
   \   0105  39                ADD     HL,SP
   \   0106  34                INC     (HL)
   \   0107  18D8              JR      ?0011
   \   0109            ?0010:
    120                          
    121                  return ret;
   \   0109  39                ADD     HL,SP
   \   010A  5E                LD      E,(HL)
   \   010B  23                INC     HL
   \   010C  56                LD      D,(HL)
   \   010D  23                INC     HL
   \   010E  4E                LD      C,(HL)
   \   010F  23                INC     HL
   \   0110  46                LD      B,(HL)
   \   0111  EB                EX      DE,HL
    122          }
   \   0112  F1                POP     AF
   \   0113  F1                POP     AF
   \   0114  F1                POP     AF
   \   0115  DDE1              POP     IX
   \   0117  C9                RET
   \   0118            gen_bkfilename:
    123          
    124          static bool
    125          gen_bkfilename(char *str)
    126          {
   \   0118  D5                PUSH    DE
    127          /*        char *t = str;
    128                  t = strrchr(t,'.');
    129                  strcpy(t,".bmk");
    130          */  
    131                  return 0;
   \   0119  AF                XOR     A
    132          }
   \   011A  E1                POP     HL
   \   011B  C9                RET
   \   011C            split_node:
    133          
    134          static void
    135          split_node( char* str,int i)
    136          {
   \   011C  FDE5              PUSH    IY
   \   011E  DDE5              PUSH    IX
   \   0120  D5                PUSH    DE
   \   0121  DDE1              POP     IX
   \   0123  C5                PUSH    BC
   \   0124  FDE1              POP     IY
    137                  bkmarks[i].offset = str2hex(str);
   \   0126  69                LD      L,C
   \   0127  60                LD      H,B
   \   0128  29                ADD     HL,HL
   \   0129  29                ADD     HL,HL
   \   012A  29                ADD     HL,HL
   \   012B  29                ADD     HL,HL
   \   012C  010300            LD      BC,bkmarks
   \   012F  09                ADD     HL,BC
   \   0130  E5                PUSH    HL
   \   0131  CDC900            CALL    LWRD str2hex
   \   0134  EB                EX      DE,HL
   \   0135  E1                POP     HL
   \   0136  73                LD      (HL),E
   \   0137  23                INC     HL
   \   0138  72                LD      (HL),D
   \   0139  23                INC     HL
   \   013A  71                LD      (HL),C
   \   013B  23                INC     HL
   \   013C  70                LD      (HL),B
    138                  memcpy( bkmarks[i].title, &str[4],sizeof(bkmarks[i].title) );
   \   013D  FDE5              PUSH    IY
   \   013F  E1                POP     HL
   \   0140  29                ADD     HL,HL
   \   0141  29                ADD     HL,HL
   \   0142  29                ADD     HL,HL
   \   0143  29                ADD     HL,HL
   \   0144  EB                EX      DE,HL
   \   0145  210700            LD      HL,bkmarks+4
   \   0148  19                ADD     HL,DE
   \   0149  EB                EX      DE,HL
   \   014A  210400            LD      HL,4
   \   014D  DDE5              PUSH    IX
   \   014F  C1                POP     BC
   \   0150  09                ADD     HL,BC
   \   0151  010C00            LD      BC,12
   \   0154  EDB0              LDIR
    139          }
   \   0156  DDE1              POP     IX
   \   0158  FDE1              POP     IY
   \   015A  C9                RET
   \   015B            init_bookmark:
    140          
    141          /**
    142           * Description: init_bookmark初始化书签功能
    143           *
    144           * @return(s) : 0-success;1-failure 
    145           */
    146          bool init_bookmark()
    147          {
   \   015B  C5                PUSH    BC
   \   015C  D5                PUSH    DE
   \   015D  DDE5              PUSH    IX
   \   015F  21F4FF            LD      HL,65524
   \   0162  39                ADD     HL,SP
   \   0163  F9                LD      SP,HL
    148              int i; 
    149             char bkfile[FILENMAELEN];
    150              char *a = bkfile;
   \   0164  E5                PUSH    HL
   \   0165  DDE1              POP     IX
    151              initBuf();
   \   0167  3E00              LD      A,BYTE3 initBuf
   \   0169  21B005            LD      HL,LWRD initBuf
   \   016C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    152              for ( i = 0; i < MAX_BKMARK_NUM; i++ )
   \   016F  110000            LD      DE,0
   \   0172            ?0015:
   \   0172  011080            LD      BC,32784
   \   0175  6B                LD      L,E
   \   0176  62                LD      H,D
   \   0177  78                LD      A,B
   \   0178  AC                XOR     H
   \   0179  67                LD      H,A
   \   017A  ED42              SBC     HL,BC
   \   017C  3016              JR      NC,?0014
   \   017E            ?0016:
    153              { // FILL out
    154                  bkmarks[i].offset = 0xFFFFFFFF;
   \   017E  6B                LD      L,E
   \   017F  62                LD      H,D
   \   0180  29                ADD     HL,HL
   \   0181  29                ADD     HL,HL
   \   0182  29                ADD     HL,HL
   \   0183  29                ADD     HL,HL
   \   0184  010300            LD      BC,bkmarks
   \   0187  09                ADD     HL,BC
   \   0188  06FF              LD      B,255
   \   018A  70                LD      (HL),B
   \   018B  23                INC     HL
   \   018C  70                LD      (HL),B
   \   018D  23                INC     HL
   \   018E  70                LD      (HL),B
   \   018F  23                INC     HL
   \   0190  70                LD      (HL),B
   \   0191  13                INC     DE
   \   0192  18DE              JR      ?0015
   \   0194            ?0014:
    155              }
    156              memcpy(bkfile, g_reader_vars.location.filename,8);
   \   0194  010800            LD      BC,8
   \   0197  68                LD      L,B
   \   0198  60                LD      H,B
   \   0199  39                ADD     HL,SP
   \   019A  EB                EX      DE,HL
   \   019B  212000            LD      HL,g_reader_vars+32
   \   019E  EDB0              LDIR
    157              if ( NULL != a ) 
   \   01A0  DDE5              PUSH    IX
   \   01A2  E1                POP     HL
   \   01A3  7D                LD      A,L
   \   01A4  B4                OR      H
   \   01A5  2876              JR      Z,?0019
   \   01A7            ?0018:
    158              {
    159                  strcpy(&bkfile[8],"BMK"); 
   \   01A7  110000            LD      DE,?0020
   \   01AA  69                LD      L,C
   \   01AB  60                LD      H,B
   \   01AC  39                ADD     HL,SP
   \   01AD  0E08              LD      C,8
   \   01AF  09                ADD     HL,BC
   \   01B0  CD0000            CALL    LWRD ?STRCPY_L11
    160                  bkfile[11]=0;    
   \   01B3  210B00            LD      HL,11
   \   01B6  39                ADD     HL,SP
   \   01B7  70                LD      (HL),B
    161                  g_bookmark_handle = FS_FOpen(bkfile,FS_OPEN_NORMAL);
   \   01B8  48                LD      C,B
   \   01B9  69                LD      L,C
   \   01BA  60                LD      H,B
   \   01BB  39                ADD     HL,SP
   \   01BC  EB                EX      DE,HL
   \   01BD  CD0000            CALL    LWRD FS_FOpen
   \   01C0  220100            LD      (g_bookmark_handle),HL
    162                  if( NULL == g_bookmark_handle )
   \   01C3  7D                LD      A,L
   \   01C4  B4                OR      H
   \   01C5  2025              JR      NZ,?0022
   \   01C7            ?0021:
    163                  { // 书签文件不存在,创建书签文件  
    164                      g_bookmark_handle = FS_FCreate(bkfile);
   \   01C7  6F                LD      L,A
   \   01C8  67                LD      H,A
   \   01C9  39                ADD     HL,SP
   \   01CA  EB                EX      DE,HL
   \   01CB  CD0000            CALL    LWRD FS_FCreate
   \   01CE  220100            LD      (g_bookmark_handle),HL
    165                      if( NULL == g_bookmark_handle ) 
   \   01D1  7D                LD      A,L
   \   01D2  B4                OR      H
   \   01D3  2044              JR      NZ,?0025
   \   01D5            ?0023:
    166                      {// 错误处理
    167                          // FIXME: please change to create error
    168                          ui_err_msg(EBOKMSG5,EBOKMSG5,g_comval.langid);
   \   01D5  ED4B0C00          LD      BC,(g_comval+12)
   \   01D9  47                LD      B,A
   \   01DA  C5                PUSH    BC
   \   01DB  01AD01            LD      BC,429
   \   01DE  11AD01            LD      DE,429
   \   01E1  3E00              LD      A,BYTE3 ui_err_msg
   \   01E3  210000            LD      HL,LWRD ui_err_msg
   \   01E6  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01E9  F1                POP     AF
    169                          return 1;
   \   01EA  1831              JR      ?0019
    170                      }
   \   01EC            ?0024:
    171                      return 0;
    172                  }  
   \   01EC            ?0022:
    173                  else

⌨️ 快捷键说明

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