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

📄 sdrv_common_thai.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:30:46 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  large                                               #
#       Source file   =  d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_common_thai.c#
#       List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_h\list\sdrv_common_thai.lst#
#       Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_h\obj\sdrv_common_thai.r01#
#       ASM file      =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_h\list\sdrv_common_thai.s01#
#       Command line  =  -v0 -ml -uu                                         #
#                        -OD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_H\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DIC3951 -DNAPDEBUG     #
#                        -LD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_H\List\   #
#                        -q -t8                                              #
#                        -AD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_H\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_common_thai.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_common_thai(16)
   \   0000                    RSEG    UI_RCODE(0)
   \   0000                    EXTERN  CharPointBuffer
   \   0000                    PUBLIC  Sdrv_add_image
   \   0000                    PUBLIC  Sdrv_check_symble
   \   0000                    EXTERN  back_CharPointBuffer
   \   0000                    EXTERN  next_thai_flag
   \   0000                    EXTERN  thai_flag
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    RSEG    UI_RCODE
   \   0000            Sdrv_add_image:
      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   : sdrv_charOutrect.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          extern  char next_thai_flag;
     18          extern  char thai_flag;
     19          
     20          #pragma codeseg(UI_RCODE)
     21          
     22          ////*******************************************************************************/
     23          ///*
     24          //** FUNCTION:     Sdrv_CharOutRect
     25          //**
     26          //** Description:  在指定的区域上打出一个字符,超出区域部分不显示,没有超出屏幕的部分将正常显示。
     27          //**
     28          //**  input
     29          //**     code: 字符的码值
     30          //**     CRregion: 要求输出的区域
     31          //**     colcnt:   要求从汉字的哪一列开始输出   
     32          //**  output
     33          //**     bool: 当指定列数超出该字的总列数时返回FALSE,否则返回TRUE
     34          //********************************************************************************/
     35          
     36          non_banked bool Sdrv_add_image(void)
     37          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  FDE5              PUSH    IY
   \   0004  DDE5              PUSH    IX
     38              int i;
     39              char *p1,*p2;   
     40                   
     41              p1 = back_CharPointBuffer;
   \   0006  FD210000          LD      IY,back_CharPointBuffer
     42              p2 = CharPointBuffer;         
   \   000A  DD210000          LD      IX,CharPointBuffer
     43              if(thai_flag == 1)
   \   000E  3A0000            LD      A,(thai_flag)
   \   0011  3D                DEC     A
   \   0012  110000            LD      DE,0
   \   0015  2023              JR      NZ,?0001
   \   0017            ?0000:
     44              {
     45                  for(i=0;i<32;i++)
   \   0017            ?0003:
   \   0017  012080            LD      BC,32800
   \   001A  6B                LD      L,E
   \   001B  62                LD      H,D
   \   001C  78                LD      A,B
   \   001D  AC                XOR     H
   \   001E  67                LD      H,A
   \   001F  ED42              SBC     HL,BC
   \   0021  300D              JR      NC,?0002
   \   0023            ?0004:
     46                  {
     47                      *p1++ = *p2++;
   \   0023  DD4600            LD      B,(IX+0)
   \   0026  FD7000            LD      (IY+0),B
   \   0029  13                INC     DE
   \   002A  DD23              INC     IX
   \   002C  FD23              INC     IY
   \   002E  18E7              JR      ?0003
   \   0030            ?0002:
     48                  }        
     49              
     50                  if(next_thai_flag==0)
   \   0030  3A0000            LD      A,(next_thai_flag)
   \   0033  B7                OR      A
   \   0034  2020              JR      NZ,?0009
   \   0036            ?0006:
     51                     return TRUE;
   \   0036  3E01              LD      A,1
     52              }
   \   0038  181C              JR      ?0009
   \   003A            ?0007:
     53              else
   \   003A            ?0001:
     54              {
     55                  for(i=0;i<32;i++) 
   \   003A            ?0010:
   \   003A  012080            LD      BC,32800
   \   003D  6B                LD      L,E
   \   003E  62                LD      H,D
   \   003F  78                LD      A,B
   \   0040  AC                XOR     H
   \   0041  67                LD      H,A
   \   0042  ED42              SBC     HL,BC
   \   0044  3010              JR      NC,?0009
   \   0046            ?0011:
     56                     *p2++ |= *p1++;
   \   0046  DD7E00            LD      A,(IX+0)
   \   0049  FDB600            OR      (IY+0)
   \   004C  DD7700            LD      (IX+0),A
   \   004F  13                INC     DE
     57              }          
   \   0050  DD23              INC     IX
   \   0052  FD23              INC     IY
   \   0054  18E4              JR      ?0001
   \   0056            ?0009:
   \   0056            ?0008:
     58          }
   \   0056            ?0013:
   \   0056  DDE1              POP     IX
   \   0058  FDE1              POP     IY
   \   005A  D1                POP     DE
   \   005B  C1                POP     BC
   \   005C  C9                RET
   \   005D            Sdrv_check_symble:
     59          
     60          non_banked bool Sdrv_check_symble(unsigned char code)
     61          {
     62              if(code == 0xd1 || (code >=0xd4 && code<0xdb) ||(code >=0xe7 && code<0xef))
   \   005D  7B                LD      A,E
   \   005E  FED1              CP      209
   \   0060  2810              JR      Z,?0021
   \   0062  FED4              CP      212
   \   0064  3804              JR      C,?0019
   \   0066  FEDB              CP      219
   \   0068  3808              JR      C,?0021
   \   006A            ?0019:
   \   006A            ?0018:
   \   006A  FEE7              CP      231
   \   006C  3807              JR      C,?0015
   \   006E  FEEF              CP      239
   \   0070  3003              JR      NC,?0015
   \   0072            ?0021:
   \   0072            ?0020:
   \   0072            ?0016:
   \   0072            ?0017:
   \   0072            ?0014:
     63                  thai_flag = 0;
   \   0072  AF                XOR     A
   \   0073  1802              JR      ?0024
     64              else
   \   0075            ?0015:
     65                  thai_flag = 1;  
   \   0075  3E01              LD      A,1
   \   0077            ?0024:
   \   0077  320000            LD      (thai_flag),A
   \   007A            ?0022:
     66          }
   \   007A  C9                RET
     67          /*
     68          
     69          non_banked bool Sdrv_Set_next(unsigned char mode)
     70          {
     71          //    if(code == 0xd1 || (code >=0xd4 && code<0xdb) ||(code >=0xe7 && code<0xef))
     72          //        thai_flag = 0;
     73          //    else
     74          //        thai_flag = 1;        
     75                next_thai_flag = mode;
     76          }
     77          */
   \   007B                    END

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

⌨️ 快捷键说明

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