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

📄 bookmark.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0338  7E                LD      A,(HL)
   \   0339  FEA1              CP      161
   \   033B  2019              JR      NZ,?0037
   \   033D            ?0044:
    237                    tt+=2;
   \   033D  210200            LD      HL,2
   \   0340  39                ADD     HL,SP
   \   0341  7E                LD      A,(HL)
   \   0342  C602              ADD     A,2
   \   0344  77                LD      (HL),A
   \   0345  23                INC     HL
   \   0346  7E                LD      A,(HL)
   \   0347  CE00              ADC     A,0
   \   0349  77                LD      (HL),A
    238                    else
   \   034A  18CC              JR      ?0038
   \   034C            ?0045:
    239                    break;
   \   034C            ?0046:
    240                  }
    241                  else
   \   034C            ?0043:
    242                  tt++;        
   \   034C  DD34EC            INC     (IX-20)
   \   034F  20C7              JR      NZ,?0038
   \   0351  DD34ED            INC     (IX-19)
   \   0354            ?0047:
   \   0354  18C2              JR      ?0038
   \   0356            ?0037:
    243                }   
    244          ///////////////////////   
    245                if ( 0xFFFFFFFF == bkmarks[0].offset )        // 加入的第一个书签
   \   0356  ED4B0500          LD      BC,(bkmarks+2)
   \   035A  2A0300            LD      HL,(bkmarks)
   \   035D  7D                LD      A,L
   \   035E  A4                AND     H
   \   035F  A1                AND     C
   \   0360  A0                AND     B
   \   0361  3C                INC     A
   \   0362  2024              JR      NZ,?0049
   \   0364            ?0048:
    246                {
    247                    bkmarks[0].offset = CurFileLen;
   \   0364  DD4EF0            LD      C,(IX-16)
   \   0367  DD46F1            LD      B,(IX-15)
   \   036A  DD6EEE            LD      L,(IX-18)
   \   036D  DD66EF            LD      H,(IX-17)
   \   0370  220300            LD      (bkmarks),HL
   \   0373  ED430500          LD      (bkmarks+2),BC
    248                    memcpy( bkmarks[0].title, tt, MAX_TITLE_LEN);
   \   0377  010C00            LD      BC,12
   \   037A  110700            LD      DE,bkmarks+4
   \   037D  DD6EEC            LD      L,(IX-20)
   \   0380  DD66ED            LD      H,(IX-19)
   \   0383  EDB0              LDIR
    249                }
    250                else                        // 已经有书签
   \   0385  C3EA04            JP      LWRD ?0050
   \   0388            ?0049:
    251                {
    252                    // Cauz there is only 16 items in the file, we simply
    253                    // search from the beginning to decide where to insert 
    254                    i = 0;
   \   0388  AF                XOR     A
   \   0389  DD77EA            LD      (IX-22),A
   \   038C  DD77EB            LD      (IX-21),A
   \   038F            ?0052:
    255                    while ( i < MAX_BKMARK_NUM )
   \   038F  011080            LD      BC,32784
   \   0392  DD6EEA            LD      L,(IX-22)
   \   0395  DD66EB            LD      H,(IX-21)
   \   0398  78                LD      A,B
   \   0399  AC                XOR     H
   \   039A  67                LD      H,A
   \   039B  ED42              SBC     HL,BC
   \   039D  3064              JR      NC,?0051
   \   039F            ?0053:
    256                    {
    257                        if( bkmarks[i].offset > CurFileLen )         //已到链表尾或在链表之前插入
   \   039F  DD6EEA            LD      L,(IX-22)
   \   03A2  DD66EB            LD      H,(IX-21)
   \   03A5  29                ADD     HL,HL
   \   03A6  29                ADD     HL,HL
   \   03A7  29                ADD     HL,HL
   \   03A8  29                ADD     HL,HL
   \   03A9  010300            LD      BC,bkmarks
   \   03AC  09                ADD     HL,BC
   \   03AD  4E                LD      C,(HL)
   \   03AE  23                INC     HL
   \   03AF  46                LD      B,(HL)
   \   03B0  23                INC     HL
   \   03B1  5E                LD      E,(HL)
   \   03B2  23                INC     HL
   \   03B3  56                LD      D,(HL)
   \   03B4  D5                PUSH    DE
   \   03B5  C5                PUSH    BC
   \   03B6  A7                AND     A
   \   03B7  DD6EEE            LD      L,(IX-18)
   \   03BA  DD66EF            LD      H,(IX-17)
   \   03BD  C1                POP     BC
   \   03BE  ED42              SBC     HL,BC
   \   03C0  DD6EF0            LD      L,(IX-16)
   \   03C3  DD66F1            LD      H,(IX-15)
   \   03C6  C1                POP     BC
   \   03C7  ED42              SBC     HL,BC
   \   03C9  3838              JR      C,?0051
   \   03CB            ?0054:
    258                            break;
   \   03CB            ?0055:
    259                        else if ( bkmarks[i].offset == CurFileLen )
   \   03CB  DD6EEA            LD      L,(IX-22)
   \   03CE  DD66EB            LD      H,(IX-21)
   \   03D1  29                ADD     HL,HL
   \   03D2  29                ADD     HL,HL
   \   03D3  29                ADD     HL,HL
   \   03D4  29                ADD     HL,HL
   \   03D5  010300            LD      BC,bkmarks
   \   03D8  09                ADD     HL,BC
   \   03D9  4E                LD      C,(HL)
   \   03DA  23                INC     HL
   \   03DB  46                LD      B,(HL)
   \   03DC  23                INC     HL
   \   03DD  5E                LD      E,(HL)
   \   03DE  23                INC     HL
   \   03DF  56                LD      D,(HL)
   \   03E0  69                LD      L,C
   \   03E1  60                LD      H,B
   \   03E2  DD4EEE            LD      C,(IX-18)
   \   03E5  DD46EF            LD      B,(IX-17)
   \   03E8  A7                AND     A
   \   03E9  ED42              SBC     HL,BC
   \   03EB  200C              JR      NZ,?0057
   \   03ED  EB                EX      DE,HL
   \   03EE  DD4EF0            LD      C,(IX-16)
   \   03F1  DD46F1            LD      B,(IX-15)
   \   03F4  ED42              SBC     HL,BC
   \   03F6  CAD104            JP      Z,?0092
   \   03F9            ?0056:
    260                            return 0;  // already there, keep it  
   \   03F9            ?0057:
    261                        
    262                        i++;                
   \   03F9  DD34EA            INC     (IX-22)
   \   03FC  2091              JR      NZ,?0052
   \   03FE  DD34EB            INC     (IX-21)
   \   0401  188C              JR      ?0052
   \   0403            ?0051:
    263                    }     
    264                    /* now we get the point to insert */
    265                    if ( 0xFFFFFFFF == bkmarks[i].offset )        // 已经到链表尾
   \   0403  DD6EEA            LD      L,(IX-22)
   \   0406  DD66EB            LD      H,(IX-21)
   \   0409  29                ADD     HL,HL
   \   040A  29                ADD     HL,HL
   \   040B  29                ADD     HL,HL
   \   040C  29                ADD     HL,HL
   \   040D  010300            LD      BC,bkmarks
   \   0410  09                ADD     HL,BC
   \   0411  7E                LD      A,(HL)
   \   0412  23                INC     HL
   \   0413  A6                AND     (HL)
   \   0414  23                INC     HL
   \   0415  A6                AND     (HL)
   \   0416  23                INC     HL
   \   0417  A6                AND     (HL)
   \   0418  3C                INC     A
   \   0419  200C              JR      NZ,?0059
   \   041B            ?0058:
    266                    {
    267                        /* 加到链表末 */
    268                        bkmarks[i].offset = CurFileLen;
   \   041B  DD6EEA            LD      L,(IX-22)
   \   041E  DD66EB            LD      H,(IX-21)
   \   0421  29                ADD     HL,HL
   \   0422  29                ADD     HL,HL
   \   0423  29                ADD     HL,HL
   \   0424  29                ADD     HL,HL
   \   0425  187B              JR      ?0093
    269                        memcpy( bkmarks[i].title, tt, MAX_TITLE_LEN ); 
    270                        return 0;
    271                    }
   \   0427            ?0059:
    272                    else if ( bkmarks[MAX_BKMARK_NUM-1].offset == 0xFFFFFFFF )
   \   0427  21F300            LD      HL,bkmarks+240
   \   042A  7E                LD      A,(HL)
   \   042B  23                INC     HL
   \   042C  A6                AND     (HL)
   \   042D  23                INC     HL
   \   042E  A6                AND     (HL)
   \   042F  23                INC     HL
   \   0430  A6                AND     (HL)
   \   0431  3C                INC     A
   \   0432  C2D504            JP      NZ,?0061
   \   0435            ?0060:
    273                    {
    274                        /* 在链表中间插入 */
    275                        /* [1],[2],...[*],[*+1],[*+2],.... */
    276                        /*             |    |              */
    277                        /*           prev  cur             */
    278                        /*            [*],[×],[*+1]        */
    279                        /*                 |               */
    280                        /*              pre,cur          */
    281                        int j;
    282                        for ( j = MAX_BKMARK_NUM-1; j > i; j-- )
   \   0435  FD210F00          LD      IY,15
   \   0439            ?0063:
   \   0439  FDE5              PUSH    IY
   \   043B  C1                POP     BC
   \   043C  DD6EEA            LD      L,(IX-22)
   \   043F  DD66EB            LD      H,(IX-21)
   \   0442  F680              OR      128
   \   0444  ED42              SBC     HL,BC
   \   0446  E24A04            JP      PO,?0089
   \   0449  AC                XOR     H
   \   044A            ?0089:
   \   044A  F29504            JP      P,?0062
   \   044D            ?0064:
    283                        {
    284                            bkmarks[j].offset = bkmarks[j-1].offset;            //链表后移
   \   044D  FDE5              PUSH    IY
   \   044F  E1                POP     HL
   \   0450  29                ADD     HL,HL
   \   0451  29                ADD     HL,HL
   \   0452  29                ADD     HL,HL
   \   0453  29                ADD     HL,HL
   \   0454  01F3FF            LD      BC,bkmarks-16
   \   0457  09                ADD     HL,BC
   \   0458  5E                LD      E,(HL)
   \   0459  23                INC     HL
   \   045A  56                LD      D,(HL)
   \   045B  23                INC     HL
   \   045C  4E                LD      C,(HL)
   \   045D  23                INC     HL
   \   045E  46                LD      B,(HL)
   \   045F  EB                EX      DE,HL
   \   0460  E5                PUSH    HL
   \   0461  FDE5              PUSH    IY
   \   0463  E1                POP     HL
   \   0464  29                ADD     HL,HL
   \   0465  29                ADD     HL,HL
   \   0466  29                ADD     HL,HL
   \   0467  29                ADD     HL,HL
   \   0468  110300            LD      DE,bkmarks
   \   046B  19                ADD     HL,DE
   \   046C  D1                POP     DE
   \   046D  73                LD      (HL),E
   \   046E  23                INC     HL
   \   046F  72                LD      (HL),D
   \   0470  23                INC     HL
   \   0471  71                LD      (HL),C
   \   0472  23                INC     HL
   \   0473  70                LD      (HL),B
    285                            memcpy( bkmarks[j].title, bkmarks[j-1].title, MAX_TITLE_LEN );
   \   0474  FDE5              PUSH    IY
   \   0476  E1                POP     HL
   \   0477  29                ADD     HL,HL
   \   0478  29                ADD     HL,HL
   \   0479  29                ADD     HL,HL
   \   047A  29                ADD     HL,HL
   \   047B  EB                EX      DE,HL
   \   047C  210700            LD      HL,bkmarks+4
   \   047F  19                ADD     HL,DE
   \   0480  EB                EX      DE,HL
   \   0481  FDE5              PUSH    IY
   \   0483  E1                POP     HL
   \   0484  29                ADD     HL,HL
   \   0485  29                ADD     HL,HL
   \   0486  29                ADD     HL,HL
   \   0487  29                ADD     HL,HL
   \   0488  01F7FF            LD      BC,bkmarks-12
   \   048B  09                ADD     HL,BC
   \   048C  010C00            LD      BC,12
   \   048F  EDB0              LDIR
   \   0491  FD2B              DEC     IY
   \   0493  18A4              JR      ?0063
   \   0495            ?0062:
    286                        }
    287                        bkmarks[i].offset = CurFileLen;
   \   0495  DD6EEA            LD      L,(IX-22)
   \   0498  DD66EB            LD      H,(IX-21)
   \   049B  29                ADD     HL,HL
   \   049C  29                ADD     HL,HL
   \   049D  29                ADD     HL,HL
   \   049E  29                ADD     HL,HL
   \   049F  010300            LD      BC,bkmarks
   \   04A2            ?0093:
   \   04A2  09                ADD     HL,BC
   \   04A3  DD4EF0            LD      C,(IX-16)
   \   04A6  DD46F1            LD      B,(IX-15)
   \   04A9  DD5EEE            LD      E,(IX-18)
   \   04AC  73                LD      (HL),E

⌨️ 快捷键说明

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