ap_common.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 468 行 · 第 1/2 页

LST
468
字号
   \   0068  E1                POP     HL
    122              SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
   \   0069  211000            LD      HL,16
   \   006C  E5                PUSH    HL
   \   006D  CD4800            CALL    LWRD ?0022
   \   0070  F1                POP     AF
    123              if(res_entry.type != RES_TYPE_PIC) return 0;
   \   0071  3A1800            LD      A,(res_entry+6)
   \   0074  3D                DEC     A
   \   0075  2805              JR      Z,?0010
   \   0077            ?0009:
   \   0077  210000            LD      HL,0
    124              ASSERT(res_entry.length <= 512);
   \   007A  185B              JR      ?0013
   \   007C            ?0010:
    125          
    126              //读数据
    127              SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
   \   007C  2A1400            LD      HL,(res_entry+2)
   \   007F  E5                PUSH    HL
   \   0080  2A1200            LD      HL,(res_entry)
   \   0083  E5                PUSH    HL
   \   0084  4F                LD      C,A
   \   0085  CDEA00            CALL    LWRD ?0025
   \   0088  E1                POP     HL
   \   0089  E1                POP     HL
    128           
    129              SD_FRead(res_fp, buf, sizeof(buf));
   \   008A  210400            LD      HL,4
   \   008D  E5                PUSH    HL
   \   008E  2B                DEC     HL
   \   008F  2B                DEC     HL
   \   0090  39                ADD     HL,SP
   \   0091  4D                LD      C,L
   \   0092  44                LD      B,H
   \   0093  CD4B00            CALL    LWRD ?0021
   \   0096  F1                POP     AF
    130           
    131              res_region.width = (char)buf[0];
   \   0097  DD7EFC            LD      A,(IX-4)
   \   009A  322400            LD      (res_region+2),A
    132              res_region.height = (char)buf[1];
   \   009D  DD7EFE            LD      A,(IX-2)
   \   00A0  322500            LD      (res_region+3),A
    133              
    134              //显示
    135              res_region.x = x;
   \   00A3  DD7E04            LD      A,(IX+4)
   \   00A6  322200            LD      (res_region),A
    136              res_region.y = y;
   \   00A9  DD7E0A            LD      A,(IX+10)
   \   00AC  322300            LD      (res_region+1),A
    137              PutSDImage(&res_region, res_fp->rwpointer);
   \   00AF  211400            LD      HL,20
   \   00B2  ED4B0000          LD      BC,(res_fp)
   \   00B6  09                ADD     HL,BC
   \   00B7  4E                LD      C,(HL)
   \   00B8  23                INC     HL
   \   00B9  46                LD      B,(HL)
   \   00BA  23                INC     HL
   \   00BB  5E                LD      E,(HL)
   \   00BC  23                INC     HL
   \   00BD  56                LD      D,(HL)
   \   00BE  D5                PUSH    DE
   \   00BF  C5                PUSH    BC
   \   00C0  112200            LD      DE,res_region
   \   00C3  CD0000            CALL    LWRD PutSDImage
   \   00C6  E1                POP     HL
   \   00C7  E1                POP     HL
    138              if(ui_auto_update) UpdateScreen(&res_region);
   \   00C8  3A0000            LD      A,(ui_auto_update)
   \   00CB  B7                OR      A
   \   00CC  2806              JR      Z,?0012
   \   00CE            ?0011:
   \   00CE  112200            LD      DE,res_region
   \   00D1  CD0000            CALL    LWRD UpdateScreen
   \   00D4            ?0012:
    139              return 1;
   \   00D4  210100            LD      HL,1
    140          }
   \   00D7            ?0013:
   \   00D7  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   00DA            ?0023:
   \   00DA  DD6E02            LD      L,(IX+2)
   \   00DD  DD6603            LD      H,(IX+3)
   \   00E0  010000            LD      BC,0
   \   00E3  3E04              LD      A,4
   \   00E5  C30000            JP      LWRD ?L_LSH_L03
   \   00E8            ?0024:
   \   00E8  0E00              LD      C,0
   \   00EA            ?0025:
   \   00EA  ED5B0000          LD      DE,(res_fp)
   \   00EE  C30000            JP      LWRD SD_FSeek
   \   00F1            ResInvertShowPic:
    141          #ifdef InvertFlag 
    142          int ResInvertShowPic(WORD id, uchar x, uchar y)
    143          {
   \   00F1  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   00F4  FCFF              DEFW    65532
    144              WORD buf[2];    //buffer for sd read
    145          
    146              ASSERT(id <= UIID_MAX);
    147              
    148              //读entry
    149              SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
   \   00F6  CDDA00            CALL    LWRD ?0023
   \   00F9  C5                PUSH    BC
   \   00FA  E5                PUSH    HL
   \   00FB  CDE800            CALL    LWRD ?0024
   \   00FE  E1                POP     HL
   \   00FF  E1                POP     HL
    150              SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
   \   0100  211000            LD      HL,16
   \   0103  E5                PUSH    HL
   \   0104  CD4800            CALL    LWRD ?0022
   \   0107  F1                POP     AF
    151              if(res_entry.type != RES_TYPE_PIC) return 0;
   \   0108  3A1800            LD      A,(res_entry+6)
   \   010B  3D                DEC     A
   \   010C  2805              JR      Z,?0015
   \   010E            ?0014:
   \   010E  210000            LD      HL,0
    152              ASSERT(res_entry.length <= 512);
   \   0111  1861              JR      ?0018
   \   0113            ?0015:
    153          
    154              //读数据
    155              SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
   \   0113  2A1400            LD      HL,(res_entry+2)
   \   0116  E5                PUSH    HL
   \   0117  2A1200            LD      HL,(res_entry)
   \   011A  E5                PUSH    HL
   \   011B  4F                LD      C,A
   \   011C  CDEA00            CALL    LWRD ?0025
   \   011F  E1                POP     HL
   \   0120  E1                POP     HL
    156           
    157              SD_FRead(res_fp, buf, sizeof(buf));
   \   0121  210400            LD      HL,4
   \   0124  E5                PUSH    HL
   \   0125  2B                DEC     HL
   \   0126  2B                DEC     HL
   \   0127  39                ADD     HL,SP
   \   0128  4D                LD      C,L
   \   0129  44                LD      B,H
   \   012A  CD4B00            CALL    LWRD ?0021
   \   012D  F1                POP     AF
    158           
    159              res_region.width = (char)buf[0];
   \   012E  DD7EFC            LD      A,(IX-4)
   \   0131  322400            LD      (res_region+2),A
    160              res_region.height = (char)buf[1];
   \   0134  DD7EFE            LD      A,(IX-2)
   \   0137  322500            LD      (res_region+3),A
    161              
    162              //显示
    163              res_region.x = x;
   \   013A  DD7E04            LD      A,(IX+4)
   \   013D  322200            LD      (res_region),A
    164              res_region.y = y;
   \   0140  DD7E0A            LD      A,(IX+10)
   \   0143  322300            LD      (res_region+1),A
    165              PutSDImage(&res_region, res_fp->rwpointer);
   \   0146  211400            LD      HL,20
   \   0149  ED4B0000          LD      BC,(res_fp)
   \   014D  09                ADD     HL,BC
   \   014E  4E                LD      C,(HL)
   \   014F  23                INC     HL
   \   0150  46                LD      B,(HL)
   \   0151  23                INC     HL
   \   0152  5E                LD      E,(HL)
   \   0153  23                INC     HL
   \   0154  56                LD      D,(HL)
   \   0155  D5                PUSH    DE
   \   0156  C5                PUSH    BC
   \   0157  112200            LD      DE,res_region
   \   015A  CD0000            CALL    LWRD PutSDImage
   \   015D  E1                POP     HL
   \   015E  E1                POP     HL
    166              InvertRegion(&res_region);
   \   015F  112200            LD      DE,res_region
   \   0162  CD0000            CALL    LWRD InvertRegion
    167              if(ui_auto_update) UpdateScreen(&res_region);
   \   0165  3A0000            LD      A,(ui_auto_update)
   \   0168  B7                OR      A
   \   0169  2806              JR      Z,?0017
   \   016B            ?0016:
   \   016B  112200            LD      DE,res_region
   \   016E  CD0000            CALL    LWRD UpdateScreen
   \   0171            ?0017:
    168              return 1;
   \   0171  210100            LD      HL,1
    169          } 
   \   0174            ?0018:
   \   0174  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
    170          #endif  
    171          #pragma function=default
    172              
    173              
   \   0000                    RSEG    UDATA0
   \   0000            res_fp:
   \   0002                    DEFS    2
   \   0002            res_head:
   \   0012                    DEFS    16
   \   0012            res_entry:
   \   0022                    DEFS    16
   \   0022            res_region:
   \   0026                    DEFS    4
   \   0026            str_pt:
   \   0028                    DEFS    2
   \   0028            strhead_pt:
   \   002A                    DEFS    2
   \   002A            scroll_cnt:
   \   002B                    DEFS    1
   \   0000                    RSEG    IDATA0
   \   0000            ui_auto_update:
   \   0001                    DEFS    1
   \   0001            ui_auto_select:
   \   0002                    DEFS    1
   \   0002            ui_run_realtime:
   \   0003                    DEFS    1
   \   0000                    RSEG    CDATA0
   \   0000  01                DEFB    1
   \   0001  01                DEFB    1
   \   0002  00                DEFB    0
   \   0003                    END

Errors: none
Warnings: none
Code size: 375
Constant size: 3
Static variable size: Data(46) Iram(0)

⌨️ 快捷键说明

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