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

📄 sdrv_deallcmpara.lst

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/May/107  10:54:35 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  large                                               #
#       Source file   =  d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_deallcmpara.c#
#       List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_deallcmpara.lst#
#       Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\obj\sdrv_deallcmpara.r01#
#       ASM file      =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_deallcmpara.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_deallcmpara.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_deallcmpara(16)
   \   0000                    RSEG    UI_RCODE(0)
   \   0000                    EXTERN  AsciiSelect
   \   0000                    EXTERN  BufPage
   \   0000                    EXTERN  DisplayBuffer
   \   0000                    EXTERN  PutCharErrFlag
   \   0000                    PUBLIC  Sdrv_DispBufSelect
   \   0000                    PUBLIC  Sdrv_GetDCStatus
   \   0000                    PUBLIC  Sdrv_GetDisplayBufAddr
   \   0000                    PUBLIC  Sdrv_GetOutPutErr
   \   0000                    PUBLIC  Sdrv_GetTextPos
   \   0000                    PUBLIC  Sdrv_SetAsciiFont
   \   0000                    PUBLIC  Sdrv_SetBackgdColor
   \   0000                    PUBLIC  Sdrv_SetPenColor
   \   0000                    PUBLIC  Sdrv_SetTextOutMode
   \   0000                    PUBLIC  Sdrv_SetTextPos
   \   0000                    PUBLIC  Sdrv_SetTranMode
   \   0000                    EXTERN  TranMode
   \   0000                    EXTERN  charclarity
   \   0000                    EXTERN  charinvflag
   \   0000                    EXTERN  dc
   \   0000                    EXTERN  region
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    RSEG    UI_RCODE
   \   0000            Sdrv_SetAsciiFont:
      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_DealLCMPara.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 codeseg(UI_RCODE)
     18          
     19          /* [函数表]
     20          non_banked void Sdrv_SetAsciiFont(unsigned char FontID)
     21          non_banked void Sdrv_SetTranMode(char Mode)
     22          non_banked void Sdrv_SetTextPos(unsigned char x,unsigned char y)//设置屏幕坐标
     23          non_banked void Sdrv_DispBufSelect(unsigned char rampage)//选择buffer在zram哪个Page。USB专用函数。
     24          non_banked char *Sdrv_GetDisplayBufAddr(void)//取得显示Buffer地址。
     25          non_banked char Sdrv_GetOutPutErr(void)
     26          non_banked void Sdrv_GetTextPos(unsigned char *x,unsigned char *y)//取屏幕坐标
     27          non_banked void Sdrv_GetDCStatus(PDC pdcforap)
     28          non_banked void Sdrv_SetTextOutMode (unsigned char mode)// 
     29          non_banked void Sdrv_SetPenColor(COLORREF color)
     30          non_banked void Sdrv_SetBackgdColor(COLORREF color)
     31          */
     32          ////*******************************************************************************/
     33          ///*
     34          //** FUNCTION:     SetAsciiFont
     35          //**
     36          //** Description:  设置Ascii字型
     37          //**
     38          //**  input
     39          //**        FontID: ascii的字型
     40          //**        
     41          //**  output
     42          //**     none
     43          //********************************************************************************/
     44          
     45          non_banked void Sdrv_SetAsciiFont(unsigned char FontID)
     46          {
     47              AsciiSelect = FontID;
   \   0000  7B                LD      A,E
   \   0001  320000            LD      (AsciiSelect),A
     48              return;
     49          }
   \   0004  C9                RET
   \   0005            Sdrv_SetTranMode:
     50          
     51          
     52          non_banked void Sdrv_SetTranMode(char Mode)
     53          {
     54              TranMode = Mode;
   \   0005  7B                LD      A,E
   \   0006  320000            LD      (TranMode),A
     55          }
   \   0009  C9                RET
   \   000A            Sdrv_SetTextPos:
     56          
     57          ////*******************************************************************************/
     58          ///*
     59          //** FUNCTION:     Sdrv_SetTextPos
     60          //**
     61          //** Description:  设置当前坐标
     62          //**
     63          //**  input
     64          //**        x: x轴坐标
     65          //**        y: y轴坐标
     66          //**        
     67          //**  output
     68          //**     none
     69          //********************************************************************************/
     70          non_banked void Sdrv_SetTextPos(unsigned char x,unsigned char y)//设置屏幕坐标
     71          {
   \   000A  D5                PUSH    DE
   \   000B  51                LD      D,C
     72              //判断坐标是否超出范围
     73              if (x >= Displaylength)
   \   000C  7B                LD      A,E
   \   000D  FEA0              CP      160
   \   000F  300D              JR      NC,?0004
   \   0011            ?0000:
     74              {
     75                  return;
     76              }
   \   0011            ?0001:
     77              if (y >= Displayhight)
   \   0011  7A                LD      A,D
   \   0012  FE80              CP      128
   \   0014  3008              JR      NC,?0004
   \   0016            ?0002:
     78              {
     79                  return;
     80              }
   \   0016            ?0003:
     81          
     82              //
     83              region.x = x;
   \   0016  7B                LD      A,E
   \   0017  320000            LD      (region),A
     84              region.y = y;
   \   001A  7A                LD      A,D
   \   001B  320100            LD      (region+1),A
     85              return;
     86          }
   \   001E            ?0004:
   \   001E  E1                POP     HL
   \   001F  C9                RET
   \   0020            Sdrv_DispBufSelect:
     87          //********************************************************************************/
     88          
     89          //********************************************************/
     90          /*
     91          ** FUNCTION:
     92          **
     93          ** DESCRIPTION: 设置Ascii码字型
     94          **
     95          ** PARAMETERS:
     96          **  input
     97          **      e=Buffer Page选择
     98          **      00:ipml    01:ipmm    02:ipmh    03:reserved
     99          **      04:idml    05:idmm    06:idmh    07:zram2    08:zram
    100          **  output
    101          **      none
    102          //********************************************************/
    103          
    104          non_banked void Sdrv_DispBufSelect(unsigned char rampage)//选择buffer在zram哪个Page。USB专用函数。
    105          {
    106          /*
    107              sfr IOP_05H = 0x05;
    108              unsigned char IOP05H_BAK;    
    109          
    110              IOP05H_BAK = IOP_05H; //备份05口
    111              BufPage = rampage;
    112              IOP_05H = rampage | 0xf0;
    113              IOP05H_BAK = IOP_05H; //恢复05口
    114          */
    115              BufPage = rampage;
   \   0020  7B                LD      A,E
   \   0021  320000            LD      (BufPage),A
    116              return;
    117          }
   \   0024  C9                RET
   \   0025            Sdrv_GetDisplayBufAddr:
    118          
    119          non_banked char *Sdrv_GetDisplayBufAddr(void)//取得显示Buffer地址。
    120          {
    121              return DisplayBuffer;
   \   0025  210000            LD      HL,DisplayBuffer
    122          }
   \   0028  C9                RET
   \   0029            Sdrv_GetOutPutErr:
    123          
    124          non_banked char Sdrv_GetOutPutErr(void)
    125          {
    126              return PutCharErrFlag;
   \   0029  3A0000            LD      A,(PutCharErrFlag)
    127          }
   \   002C  C9                RET
   \   002D            Sdrv_GetTextPos:
    128          
    129          non_banked void Sdrv_GetTextPos(unsigned char *x,unsigned char *y)//取屏幕坐标
    130          {
   \   002D  C5                PUSH    BC
   \   002E  D5                PUSH    DE
    131              *x = region.x;
   \   002F  3A0000            LD      A,(region)
   \   0032  F5                PUSH    AF
   \   0033  6B                LD      L,E
   \   0034  62                LD      H,D
   \   0035  F1                POP     AF
   \   0036  77                LD      (HL),A
    132              *y = region.y;
   \   0037  3A0100            LD      A,(region+1)
   \   003A  F5                PUSH    AF
   \   003B  69                LD      L,C
   \   003C  60                LD      H,B
   \   003D  F1                POP     AF
   \   003E  77                LD      (HL),A
    133              return;
    134          }
   \   003F  E1                POP     HL
   \   0040  E1                POP     HL
   \   0041  C9                RET
   \   0042            Sdrv_GetDCStatus:
    135          
    136          non_banked void Sdrv_GetDCStatus(PDC pdcforap)
    137          {
   \   0042  C5                PUSH    BC
   \   0043  D5                PUSH    DE
   \   0044  210000            LD      HL,dc
   \   0047  010800            LD      BC,8
   \   004A  EDB0              LDIR
    138              *pdcforap = dc;
    139              return;
    140          } 
   \   004C  E1                POP     HL
   \   004D  C1                POP     BC
   \   004E  C9                RET
   \   004F            Sdrv_SetTextOutMode:
    141          
    142          non_banked void Sdrv_SetTextOutMode (unsigned char mode)// 
    143          {
   \   004F  D5                PUSH    DE
    144              charclarity = mode & 0x0f;
   \   0050  7B                LD      A,E
   \   0051  E60F              AND     15
   \   0053  320000            LD      (charclarity),A
    145              charinvflag = mode & 0x0f0;
   \   0056  7B                LD      A,E
   \   0057  E6F0              AND     240
   \   0059  320000            LD      (charinvflag),A
    146              return;
    147          }
   \   005C  E1                POP     HL
   \   005D  C9                RET
   \   005E            Sdrv_SetPenColor:
    148          
    149          non_banked void Sdrv_SetPenColor(COLORREF color)
    150          {
   \   005E  C5                PUSH    BC
   \   005F  D5                PUSH    DE
    151              dc.PenColor = color;
   \   0060  EB                EX      DE,HL
   \   0061  220000            LD      (dc),HL
   \   0064  ED430200          LD      (dc+2),BC
    152              return;
    153          }
   \   0068  E1                POP     HL
   \   0069  E1                POP     HL
   \   006A  C9                RET
   \   006B            Sdrv_SetBackgdColor:
    154          
    155          non_banked void Sdrv_SetBackgdColor(COLORREF color)
    156          {
   \   006B  C5                PUSH    BC
   \   006C  D5                PUSH    DE
    157              dc.BackgdColor = color;
   \   006D  EB                EX      DE,HL
   \   006E  220400            LD      (dc+4),HL
   \   0071  ED430600          LD      (dc+6),BC
    158              return;
    159          }
   \   0075  E1                POP     HL
   \   0076  E1                POP     HL
   \   0077  C9                RET
   \   0078                    END

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

⌨️ 快捷键说明

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