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

📄 sdrv_putsdimage.lst

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   008D  210002            LD      HL,512
   \   0090  A7                AND     A
   \   0091  ED52              SBC     HL,DE
   \   0093  E5                PUSH    HL
   \   0094  FDE1              POP     IY
     60          
     61              sdrw.faddr=imgddr;
   \   0096  210C00            LD      HL,12
   \   0099  39                ADD     HL,SP
   \   009A  5E                LD      E,(HL)
   \   009B  23                INC     HL
   \   009C  56                LD      D,(HL)
   \   009D  23                INC     HL
   \   009E  4E                LD      C,(HL)
   \   009F  23                INC     HL
   \   00A0  46                LD      B,(HL)
   \   00A1  EB                EX      DE,HL
   \   00A2  220000            LD      (sdrw),HL
   \   00A5  ED430200          LD      (sdrw+2),BC
     62              sdrw.srampage=input8(0x05)&0x0f;//(byte)BufPage;    //FRAME BUFFER PAGE
   \   00A9  DB05              IN      A,(5)
   \   00AB  E60F              AND     15
   \   00AD  320700            LD      (sdrw+7),A
     63              sdrw.sramaddr = (WORD)DisplayBuffer;
   \   00B0  210000            LD      HL,DisplayBuffer
   \   00B3  220500            LD      (sdrw+5),HL
     64              if (cnt > (unsigned long)cnt1)
   \   00B6  210000            LD      HL,0
   \   00B9  39                ADD     HL,SP
   \   00BA  4E                LD      C,(HL)
   \   00BB  23                INC     HL
   \   00BC  46                LD      B,(HL)
   \   00BD  23                INC     HL
   \   00BE  5E                LD      E,(HL)
   \   00BF  23                INC     HL
   \   00C0  56                LD      D,(HL)
   \   00C1  D5                PUSH    DE
   \   00C2  C5                PUSH    BC
   \   00C3  FDE5              PUSH    IY
   \   00C5  E1                POP     HL
   \   00C6  110000            LD      DE,0
   \   00C9  A7                AND     A
   \   00CA  C1                POP     BC
   \   00CB  ED42              SBC     HL,BC
   \   00CD  EB                EX      DE,HL
   \   00CE  C1                POP     BC
   \   00CF  ED42              SBC     HL,BC
   \   00D1  302B              JR      NC,?0009
   \   00D3            ?0008:
     65              {
     66                  SD_Read((int)&sdrw, cnt1);//把图片数据读出  放到 DisplayBuffer 中
   \   00D3  FDE5              PUSH    IY
   \   00D5  C1                POP     BC
   \   00D6  110000            LD      DE,sdrw
   \   00D9  CD0000            CALL    SD_Read
     67                  Hdrv_BuffDataTrans(DisplayBuffer, cnt1);//把显存中的数据搬到LCM中
   \   00DC  FDE5              PUSH    IY
   \   00DE  C1                POP     BC
   \   00DF  110000            LD      DE,DisplayBuffer
   \   00E2  CD0000            CALL    Hdrv_BuffDataTrans
     68                  cnt -= cnt1;
   \   00E5  210000            LD      HL,0
   \   00E8  39                ADD     HL,SP
   \   00E9  FDE5              PUSH    IY
   \   00EB  D1                POP     DE
   \   00EC  010000            LD      BC,0
   \   00EF  CD0000            CALL    ?L_SUBASG_L03
     69                  sdrw.faddr += cnt1;
   \   00F2  210000            LD      HL,sdrw
   \   00F5  FDE5              PUSH    IY
   \   00F7  D1                POP     DE
   \   00F8  010000            LD      BC,0
   \   00FB  CD0000            CALL    ?L_ADDASG_L03
   \   00FE            ?0009:
     70              }
     71              if (cnt == 0)
   \   00FE  210000            LD      HL,0
   \   0101  39                ADD     HL,SP
   \   0102  7E                LD      A,(HL)
   \   0103  23                INC     HL
   \   0104  B6                OR      (HL)
   \   0105  23                INC     HL
   \   0106  B6                OR      (HL)
   \   0107  23                INC     HL
   \   0108  B6                OR      (HL)
   \   0109  287A              JR      Z,?0015
   \   010B            ?0010:
     72              {
     73                  return;
     74              }
   \   010B            ?0011:
   \   010B            ?0013:
     75          
     76              while (cnt > (unsigned long)DisplayBufLen)// 一个显示暂存区的大小
   \   010B  210000            LD      HL,0
   \   010E  39                ADD     HL,SP
   \   010F  4E                LD      C,(HL)
   \   0110  23                INC     HL
   \   0111  46                LD      B,(HL)
   \   0112  23                INC     HL
   \   0113  5E                LD      E,(HL)
   \   0114  23                INC     HL
   \   0115  56                LD      D,(HL)
   \   0116  D5                PUSH    DE
   \   0117  C5                PUSH    BC
   \   0118  A7                AND     A
   \   0119  210002            LD      HL,512
   \   011C  C1                POP     BC
   \   011D  ED42              SBC     HL,BC
   \   011F  210000            LD      HL,0
   \   0122  C1                POP     BC
   \   0123  ED42              SBC     HL,BC
   \   0125  3033              JR      NC,?0012
   \   0127            ?0014:
     77              {
     78                  SD_Read((int)&sdrw, DisplayBufLen);//把图片数据读出
   \   0127  010002            LD      BC,512
   \   012A  110000            LD      DE,sdrw
   \   012D  CD0000            CALL    SD_Read
     79                  Hdrv_BuffDataTrans(DisplayBuffer, DisplayBufLen);//把显存中的数据搬到LCM中
   \   0130  010002            LD      BC,512
   \   0133  110000            LD      DE,DisplayBuffer
   \   0136  CD0000            CALL    Hdrv_BuffDataTrans
     80                  cnt = cnt - (unsigned long)DisplayBufLen;
   \   0139  210000            LD      HL,0
   \   013C  39                ADD     HL,SP
   \   013D  01FFFF            LD      BC,65535
   \   0140  1100FE            LD      DE,65024
   \   0143  CD0000            CALL    ?L_ADDASG_L03
     81                  sdrw.faddr += DisplayBufLen;
   \   0146  210000            LD      HL,sdrw
   \   0149  010000            LD      BC,0
   \   014C  110002            LD      DE,512
   \   014F  CD0000            CALL    ?L_ADDASG_L03
     82                  output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);        
   \   0152  DB4E              IN      A,(78)
   \   0154  CBDF              SET     3,A
   \   0156  D34E              OUT     (78),A
   \   0158  18B1              JR      ?0011
   \   015A            ?0012:
     83              }
     84              sdrw.sramaddr = (WORD)DisplayBuffer;
   \   015A  210000            LD      HL,DisplayBuffer
   \   015D  220500            LD      (sdrw+5),HL
     85              SD_Read((int)&sdrw, cnt);//把图片数据读出
   \   0160  210000            LD      HL,0
   \   0163  39                ADD     HL,SP
   \   0164  5E                LD      E,(HL)
   \   0165  23                INC     HL
   \   0166  56                LD      D,(HL)
   \   0167  EB                EX      DE,HL
   \   0168  4D                LD      C,L
   \   0169  44                LD      B,H
   \   016A  110000            LD      DE,sdrw
   \   016D  CD0000            CALL    SD_Read
     86              Hdrv_BuffDataTrans(DisplayBuffer, cnt);//把显存中的数据搬到LCM中
   \   0170  210000            LD      HL,0
   \   0173  39                ADD     HL,SP
   \   0174  4E                LD      C,(HL)
   \   0175  23                INC     HL
   \   0176  46                LD      B,(HL)
   \   0177  23                INC     HL
   \   0178  5E                LD      E,(HL)
   \   0179  23                INC     HL
   \   017A  56                LD      D,(HL)
   \   017B  D5                PUSH    DE
   \   017C  C5                PUSH    BC
   \   017D  110000            LD      DE,DisplayBuffer
   \   0180  CD0000            CALL    Hdrv_BuffDataTrans
   \   0183  F1                POP     AF
   \   0184  F1                POP     AF
     87          
     88          }
   \   0185            ?0015:
   \   0185  E1                POP     HL
   \   0186  E1                POP     HL
   \   0187  DDE1              POP     IX
   \   0189  FDE1              POP     IY
   \   018B  C1                POP     BC
   \   018C  C9                RET
     89          
   \   0000                    RSEG    BAD_PSDI
   \   0000            sdrw:
   \   0008                    DEFS    8
   \   0008                    END

Errors: none
Warnings: none
Code size: 397
Constant size: 0
Static variable size: Data(8) Iram(0)

⌨️ 快捷键说明

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