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

📄 sdrv_putsdimage.lst

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/May/107  10:53:28 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  large                                               #
#       Source file   =  d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_putsdimage.c#
#       List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_tk\list\sdrv_putsdimage.lst#
#       Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_tk\obj\sdrv_putsdimage.r01#
#       ASM file      =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_tk\list\sdrv_putsdimage.s01#
#       Command line  =  -v0 -ml -uu                                         #
#                        -OD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_tk\Obj\   #
#                        -e -K -w -gA -s9 -RCODE -r0 -DIC3951 -DNAPDEBUG     #
#                        -LD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_tk\List\  #
#                        -q -t8                                              #
#                        -AD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_tk\List\  #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        -Id:\case_i_d913f\drv\ui_ssd1332\inc\               #
#                        D:\CASE_I_D913F\DRV\UI_SSD1332\SDRV\Sdrv_putsdimage.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_putsdimage(16)
   \   0000                    RSEG    BAC_PSDI(0)
   \   0000                    RSEG    BAD_PSDI(0)
   \   0000                    EXTERN  DisplayBuffer
   \   0000                    EXTERN  Hdrv_BuffDataTrans
   \   0000                    EXTERN  Hdrv_SetDrawMode
   \   0000                    EXTERN  Hdrv_SetWindow
   \   0000                    EXTERN  SD_Read
   \   0000                    PUBLIC  Sdrv_PutSDImage
   \   0000                    PUBLIC  sdrw
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    EXTERN  ?L_MUL_L03
   \   0000                    EXTERN  ?SL_MOD_L03
   \   0000                    EXTERN  ?L_ADDASG_L03
   \   0000                    EXTERN  ?L_SUBASG_L03
   \   0000                    RSEG    BAC_PSDI
   \   0000            Sdrv_PutSDImage:
      1          /*
      2          ********************************************************************************
      3          *                       ACTOS
      4          *                  ui dirver show picture
      5          *
      6          *                (c) Copyright 2002-2003, Actions Co,Ld.
      7          *                        All Right Reserved
      8          *
      9          * File   : UI_PutSDImage.msa
     10          * By     : Rcmai
     11          * Version: 1> v1.00     first version     10/17/2003 10:46PM
     12          ********************************************************************************
     13          */
     14          #include "display.h" 
     15          #include "Intrz80.h"            //用到input8();  
     16          #include "Drv_S6B33B0A.h"
     17          
     18          //SD_RW sdrw;
     19          //#pragma codeseg(UI_RCODE)
     20          
     21          #pragma memory=constseg(BAS_PSDI)
     22          #pragma memory=default
     23          
     24          #pragma memory=dataseg(BAD_PSDI)
     25          SD_RW sdrw;
     26          //extern  unsigned char BufPage;
     27          #pragma memory=default
     28          
     29          #pragma codeseg(BAC_PSDI)
     30          
     31          
     32          void Sdrv_PutSDImage(region_t *pic,long int imgddr)
     33          {
   \   0000  C5                PUSH    BC
   \   0001  FDE5              PUSH    IY
   \   0003  DDE5              PUSH    IX
   \   0005  F5                PUSH    AF
   \   0006  F5                PUSH    AF
   \   0007  D5                PUSH    DE
   \   0008  DDE1              POP     IX
     34              unsigned long cnt;
     35              WORD cnt1;
     36          
     37          
     38              //坐标出了屏幕,则退出
     39              if(pic->x>Displaylength-1 || pic->y >Displayhight-1 )
   \   000A  1A                LD      A,(DE)
   \   000B  47                LD      B,A
   \   000C  3E9F              LD      A,159
   \   000E  B8                CP      B
   \   000F  DA8501            JP      C,?0015
   \   0012  3E7F              LD      A,127
   \   0014  DDBE01            CP      (IX+1)
   \   0017  DA8501            JP      C,?0015
   \   001A            ?0002:
   \   001A            ?0003:
   \   001A            ?0000:
     40              {
     41                  return;
     42              }
   \   001A            ?0001:
     43          
     44              //显示出屏幕的处理
     45              if ((pic->height + pic->y) > Displayhight)
   \   001A  DD6E01            LD      L,(IX+1)
   \   001D  0600              LD      B,0
   \   001F  50                LD      D,B
   \   0020  DD5E03            LD      E,(IX+3)
   \   0023  60                LD      H,B
   \   0024  19                ADD     HL,DE
   \   0025  4D                LD      C,L
   \   0026  44                LD      B,H
   \   0027  218000            LD      HL,128
   \   002A  B5                OR      L
   \   002B  ED42              SBC     HL,BC
   \   002D  E23100            JP      PO,?0018
   \   0030  AC                XOR     H
   \   0031            ?0018:
   \   0031  FA8501            JP      M,?0015
   \   0034            ?0004:
     46              {
     47                  return;
     48              }
   \   0034            ?0005:
     49              if (pic->width > Displaylength-pic->x)
   \   0034  DD4E02            LD      C,(IX+2)
   \   0037  42                LD      B,D
   \   0038  DD5E00            LD      E,(IX+0)
   \   003B  21A000            LD      HL,160
   \   003E  A7                AND     A
   \   003F  ED52              SBC     HL,DE
   \   0041  F680              OR      128
   \   0043  ED42              SBC     HL,BC
   \   0045  E24900            JP      PO,?0019
   \   0048  AC                XOR     H
   \   0049            ?0019:
   \   0049  FA8501            JP      M,?0015
   \   004C            ?0006:
     50              {
     51                  return;
     52              }
   \   004C            ?0007:
     53          
     54              Hdrv_SetDrawMode(DrawModeH_def);
   \   004C  58                LD      E,B
   \   004D  CD0000            CALL    Hdrv_SetDrawMode
     55          
     56              Hdrv_SetWindow(pic);    //设定要填入 的 图片的 行、列起始地址,就从这里开始填数据
   \   0050  DDE5              PUSH    IX
   \   0052  D1                POP     DE
   \   0053  CD0000            CALL    Hdrv_SetWindow
     57          
     58              cnt = (unsigned long)pic->width * (unsigned long)pic->height * 2;
   \   0056  DD6E02            LD      L,(IX+2)
   \   0059  48                LD      C,B
   \   005A  61                LD      H,C
   \   005B  C5                PUSH    BC
   \   005C  E5                PUSH    HL
   \   005D  DD6E03            LD      L,(IX+3)
   \   0060  61                LD      H,C
   \   0061  CD0000            CALL    ?L_MUL_L03
   \   0064  29                ADD     HL,HL
   \   0065  CB11              RL      C
   \   0067  CB10              RL      B
   \   0069  E5                PUSH    HL
   \   006A  210200            LD      HL,2
   \   006D  39                ADD     HL,SP
   \   006E  D1                POP     DE
   \   006F  73                LD      (HL),E
   \   0070  23                INC     HL
   \   0071  72                LD      (HL),D
   \   0072  23                INC     HL
   \   0073  71                LD      (HL),C
   \   0074  23                INC     HL
   \   0075  70                LD      (HL),B
     59              cnt1 = 512 - (imgddr%512);//如不是页的开始,先读前面的不整页部分
   \   0076  210000            LD      HL,0
   \   0079  E5                PUSH    HL
   \   007A  2602              LD      H,2
   \   007C  E5                PUSH    HL
   \   007D  211000            LD      HL,16
   \   0080  39                ADD     HL,SP
   \   0081  5E                LD      E,(HL)
   \   0082  23                INC     HL
   \   0083  56                LD      D,(HL)
   \   0084  23                INC     HL
   \   0085  4E                LD      C,(HL)
   \   0086  23                INC     HL
   \   0087  46                LD      B,(HL)
   \   0088  EB                EX      DE,HL
   \   0089  CD0000            CALL    ?SL_MOD_L03
   \   008C  EB                EX      DE,HL

⌨️ 快捷键说明

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