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

📄 sdrv_clrscreen.lst

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/May/107  10:54:37 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  large                                               #
#       Source file   =  d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_clrscreen.c#
#       List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_clrscreen.lst#
#       Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\obj\sdrv_clrscreen.r01#
#       ASM file      =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_clrscreen.s01#
#       Command line  =  -v0 -ml -uu                                         #
#                        -OD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_R\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DIC3951 -DNAPDEBUG     #
#                        -LD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_R\List\   #
#                        -q -t8                                              #
#                        -AD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_R\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_clrscreen.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_clrscreen(16)
   \   0000                    RSEG    BAC_CLRS(0)
   \   0000                    EXTERN  BAPI_FillRect
   \   0000                    PUBLIC  Sdrv_ClearScreen
   \   0000                    EXTERN  dc
   \   0000                    EXTERN  region
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    RSEG    BAC_CLRS
   \   0000            Sdrv_ClearScreen:
      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_ClrScreen.c
     10          * By     : Rcmai
     11          * Version: 1> v1.00     first version     10/17/2003 10:46PM
     12          ********************************************************************************
     13          */
     14          #include "display.h"
     15          #include "Drv_S6B33B0A.h"
     16          
     17          #pragma memory=constseg(BAS_CLRS)
     18          #pragma memory=default
     19          
     20          #pragma memory=dataseg(BAD_CLRS)
     21          //SD_RW sdrw;
     22          //extern  unsigned char BufPage;
     23          #pragma memory=default
     24          
     25          #pragma codeseg(BAC_CLRS)
     26          
     27          
     28          ////*******************************************************************************/
     29          ///*
     30          //** FUNCTION:     ClearScreen
     31          //**
     32          //** Description:  把指定的屏幕区域清为背景色
     33          //**
     34          //**  input
     35          //**        region_t *clrregion :要清屏的区域,如为 NULL 则清全屏
     36          //**        
     37          //**  output
     38          //**     none
     39          //********************************************************************************/
     40          
     41          void Sdrv_ClearScreen(region_t *clrregion)
     42          {
   \   0000  C5                PUSH    BC
   \   0001  DDE5              PUSH    IX
   \   0003  F5                PUSH    AF
   \   0004  F5                PUSH    AF
   \   0005  D5                PUSH    DE
   \   0006  DDE1              POP     IX
     43              COLORREF PenColor_bak;
     44          
     45              //暂存当前画笔颜色(因为清屏时是把指定区域填成背景色)
     46              PenColor_bak = dc.PenColor;
   \   0008  210000            LD      HL,0
   \   000B  39                ADD     HL,SP
   \   000C  ED4B0200          LD      BC,(dc+2)
   \   0010  ED5B0000          LD      DE,(dc)
   \   0014  73                LD      (HL),E
   \   0015  23                INC     HL
   \   0016  72                LD      (HL),D
   \   0017  23                INC     HL
   \   0018  71                LD      (HL),C
   \   0019  23                INC     HL
   \   001A  70                LD      (HL),B
     47              dc.PenColor = dc.BackgdColor;//把画笔颜色改为背景色
   \   001B  210400            LD      HL,dc+4
   \   001E  5E                LD      E,(HL)
   \   001F  23                INC     HL
   \   0020  56                LD      D,(HL)
   \   0021  23                INC     HL
   \   0022  4E                LD      C,(HL)
   \   0023  23                INC     HL
   \   0024  46                LD      B,(HL)
   \   0025  EB                EX      DE,HL
   \   0026  220000            LD      (dc),HL
   \   0029  ED430200          LD      (dc+2),BC
     48              //Hdrv_SetDrawMode(DrawModeH_def);    //把显示模式设置成竖向显示模式(与旧字库兼容)
     49              if (clrregion == NULL)
   \   002D  DD7D              LD      A,IXL
   \   002F  DDB4              OR      IXH
   \   0031  2015              JR      NZ,?0001
   \   0033            ?0000:
     50              {
     51                  //把显示区域设置为全屏
     52                  region.x = 0;
   \   0033  320000            LD      (region),A
     53                  region.y = 0;
   \   0036  320100            LD      (region+1),A
     54                  region.width = Displaylength;
   \   0039  3EA0              LD      A,160
   \   003B  320200            LD      (region+2),A
     55                  region.height = Displayhight;        
   \   003E  3E80              LD      A,128
   \   0040  320300            LD      (region+3),A
     56                  BAPI_FillRect (&region);
   \   0043  110000            LD      DE,region
   \   0046  1803              JR      ?0004
     57              }
     58              else
   \   0048            ?0001:
     59              {
     60                  BAPI_FillRect (clrregion);    
   \   0048  DDE5              PUSH    IX
   \   004A  D1                POP     DE
   \   004B            ?0004:
   \   004B  CD0000            CALL    BAPI_FillRect
   \   004E            ?0002:
     61              }
     62              dc.PenColor = PenColor_bak;//恢复画笔颜色
   \   004E  210000            LD      HL,0
   \   0051  39                ADD     HL,SP
   \   0052  5E                LD      E,(HL)
   \   0053  23                INC     HL
   \   0054  56                LD      D,(HL)
   \   0055  23                INC     HL
   \   0056  4E                LD      C,(HL)
   \   0057  23                INC     HL
   \   0058  46                LD      B,(HL)
   \   0059  EB                EX      DE,HL
   \   005A  220000            LD      (dc),HL
   \   005D  ED430200          LD      (dc+2),BC
     63              return;
     64          }
   \   0061  E1                POP     HL
   \   0062  E1                POP     HL
   \   0063  DDE1              POP     IX
   \   0065  C1                POP     BC
   \   0066  C9                RET
     65          
   \   0067                    END

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

⌨️ 快捷键说明

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