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

📄 sdrv_putchar_thai.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# 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_putchar_thai.c#
#       List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_h\list\sdrv_putchar_thai.lst#
#       Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_h\obj\sdrv_putchar_thai.r01#
#       ASM file      =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_h\list\sdrv_putchar_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_putchar_thai.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_putchar_thai(16)
   \   0000                    RSEG    BBC_PUTS(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  BlackCharToColor
   \   0000                    EXTERN  CharPointBuffer
   \   0000                    EXTERN  CheckCharMode
   \   0000                    EXTERN  CheckDisplaySpace
   \   0000                    EXTERN  DisplayBuffer
   \   0000                    EXTERN  Hdrv_BuffDataTrans
   \   0000                    EXTERN  Hdrv_SetDrawMode
   \   0000                    EXTERN  Hdrv_SetWindow
   \   0000                    EXTERN  PutCharErrFlag
   \   0000                    EXTERN  Sdrv_GetFontPoint
   \   0000                    PUBLIC  Sdrv_PutChar
   \   0000                    EXTERN  Sdrv_add_image
   \   0000                    EXTERN  Sdrv_check_symble
   \   0000                    EXTERN  next_thai_flag
   \   0000                    EXTERN  region
   \   0000                    PUBLIC  thai_flag
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    RSEG    BBC_PUTS
   \   0000            Sdrv_PutChar:
      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   : PutChar.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          extern  char next_thai_flag;
     19          char thai_flag=0;
     20          
     21          #pragma memory=constseg(BBS_PUTS)
     22          #pragma memory=default
     23          
     24          #pragma memory=dataseg(BBD_PUTS)
     25          #pragma memory=default
     26          
     27          #pragma codeseg(BBC_PUTS)
     28          
     29          //non_banked char CheckCharMode(int code);
     30          //bool CheckDisplaySpace(char codemod);
     31          ////*******************************************************************************/
     32          ///*
     33          //** FUNCTION:     PutChar
     34          //**
     35          //** Description:  在屏幕上打出一个字符,并打完后当前指针自动跳到下一个汉字的左上角
     36          //**
     37          //**  input
     38          //**     code: 字符的码值
     39          //**
     40          //**  output
     41          //**     none
     42          //********************************************************************************/
     43          //extern non_banked char chech_symple(unsigned char code);
     44          non_banked bool Sdrv_PutChar(int code)
     45          {
   \   0000  C5                PUSH    BC
   \   0001  DDE5              PUSH    IX
   \   0003  F5                PUSH    AF
   \   0004  D5                PUSH    DE
   \   0005  DDE1              POP     IX
     46              char charmode;
     47              bool putchar_result;
     48              ///-int i;
     49              ///-char *p1,*p2;
     50              PutCharErrFlag = RESULT_PUTCHAR_OK; //默认为OK
   \   0007  AF                XOR     A
   \   0008  320000            LD      (PutCharErrFlag),A
     51              Hdrv_SetDrawMode(DrawModeV_def);    //把显示模式设置成竖向显示模式(与旧字库兼容)
   \   000B  110100            LD      DE,1
   \   000E  CD0000            CALL    Hdrv_SetDrawMode
     52              Sdrv_GetFontPoint(code, CharPointBuffer);//取点阵
   \   0011  010000            LD      BC,CharPointBuffer
   \   0014  DDE5              PUSH    IX
   \   0016  D1                POP     DE
   \   0017  CD0000            CALL    Sdrv_GetFontPoint
     53          /*    
     54              if(code == 0xd1 || (code >=0xd4 && code<0xdb) ||(code >=0xe7 && code<0xef))
     55                  thai_flag = 0;
     56              else
     57                  thai_flag = 1; 
     58          
     59                      
     60              p1 = back_CharPointBuffer;
     61              p2 = CharPointBuffer;     
     62              
     63              if(thai_flag == 1)
     64              {
     65                  for(i=0;i<32;i++)
     66                  {
     67                      *p1++ = *p2++;
     68                  }        
     69              
     70                  if(next_thai_flag==0)
     71                     return TRUE;
     72              }
     73              else
     74              {
     75                  for(i=0;i<32;i++) 
     76                     *p2++ |= *p1++;
     77              } 
     78           */      
     79              
     80              Sdrv_check_symble(code);
   \   001A  DDE5              PUSH    IX
   \   001C  E1                POP     HL
   \   001D  5D                LD      E,L
   \   001E  CD0000            CALL    Sdrv_check_symble
     81              Sdrv_add_image();
   \   0021  CD0000            CALL    Sdrv_add_image
     82              
     83              charmode = CheckCharMode(code);    
   \   0024  DDE5              PUSH    IX
   \   0026  D1                POP     DE
   \   0027  CD0000            CALL    CheckCharMode
   \   002A  210100            LD      HL,1
   \   002D  39                ADD     HL,SP
   \   002E  77                LD      (HL),A
     84              putchar_result = CheckDisplaySpace(charmode);

⌨️ 快捷键说明

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