ui_getjapenese.lst

来自「一种彩屏驱动以及画点,填充图片和填充数据的一些程序」· LST 代码 · 共 219 行

LST
219
字号
################################################################################
#                                                                              #
#     IAR Systems Z80/64180 Assembler V3.03A/WIN 18/May/107  10:54:37          #
#                                                                              #
#           Target option =  z80                                               #
#           Source file   =  d:\case_i_d913f\drv\ui_ssd1332\sdrv\ui_getjapenese.msa#
#           List file     =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_jp\list\ui_getjapenese.lst#
#           Object file   =  d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_jp\obj\ui_getjapenese.r01#
#           Command line  =  -v0 -uu                                           #
#                            -OD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_JP\Obj\ #
#                            -s+ -M<> -w+ -r -DIC3951 -DNAPDEBUG               #
#                            -LD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_JP\List\ #
#                            -t8 -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\UI_GetJapenese.msa #
#                                                                              #
#                                               (c) Copyright IAR Systems 1996 #
################################################################################

      1    000000          /*
      2    000000          ****************************************************
                            ****************************
      3    000000          *                       ACTOS
      4    000000          *                  ui dirver show picture
      5    000000          *
      6    000000          *                (c) Copyright 2002-2003, Actions Co
                                             ,Ld.
      7    000000          *                        All Right Reserved
      8    000000          *
      9    000000          * File   : UI_GetFontPoint.msa
     10    000000          * By     : Chliang
     11    000000          * Version: 1> v1.00     first version     12/03/2003
                                                     10:46PM
     12    000000          ****************************************************
 ****************************
     13    000000          */
     14    000000          #include "display.h"
     15    000000          #include "Drv_S6B33B0A.h"
     16    000000          
     17    000000                  module  Sdrv_GetFontPoint
     18    000000          //        public  sUI_GetFontPoint
     19    000000                  public  Sdrv_GetFontPoint
     20    000000                  extern  AsciiSelect
     21    000000                  extern  AsciiFontLibAddr
     22    000000                  extern  FontLibAddr
     23    000000                  extern  CharPointBuffer
     24    000000                  extern  SD_RWStruct
     25    000000          
     26    000000                  rseg    UI_RCODE
     27    000000          
     28    000000          
     29    000000          //**************************************************
 ******/
     30    000000          /*
     31    000000          ** FUNCTION:    GetCharPoint
     32    000000          **
     33    000000          ** PURPOSE:     Get Char Point Info by dma2
     34    000000          **
     35    000000          ** PARAMETERS:
     36    000000          **  input
     37    000000          **      de=区位码
     38    000000          **      bc=输出数据的存放地址
     39    000000          **  output
     40    000000          **      none
     41    000000          ** DESCRIPTION:
     42    000000          //**************************************************
                                            ******/
     43    000000          
     44    000000          Sdrv_GetFontPoint:
     45    000000 C5               push    bc
     46    000001 D5               push    de
     47    000002 ED43....         ld      (SD_RWStruct+5),bc
     48    000006 3E08             ld      a,0x08
     49    000008 CB70             bit     6,b                 //bc是否大于4000
                                                                h
     50    00000A 2804             jr      z,_buffer_in_zram
     51    00000C          //            dec     a                   //0x07  fr
 am buffer
     52    00000C DB05                 in      a,(05h)
     53    00000E E60F                 and     0fh
     54    000010          _buffer_in_zram:
     55    000010 32....           ld      (SD_RWStruct+7),a
     56    000013          GetChineseCharPoint:
     57    000013 7B               ld      a,e                 //区码
     58    000014 FE81             cp      81h             //日文字库开始的位置
     59    000016 3021             jr      nc,_not_ascii
     60    000018          _is_ascii:
     61    000018 3A....           ld      a,(AsciiSelect)
     62    00001B FE04             cp      FONT_TYPE_LARGE
     63    00001D 3802             jr      c,lsUse0608Type
     64    00001F 180A             jr      lsUse0816Type
     65    000021          lsUse0608Type:
     66    000021 AF               xor     a
     67    000022 67               ld      h,a
     68    000023 6B               ld      l,e
     69    000024 0603             ld      b,03h                   // ahl=e*8
     70    000026 CD....           call    AHL_LeftShift           //输入参数:b
                                                                    ,hl
     71    000029 1846             jr      MoveAsciiPointToBuffer
     72    00002B          lsUse0816Type:
     73    00002B AF               xor     a
     74    00002C 67               ld      h,a
     75    00002D 6B               ld      l,e
     76    00002E 0604             ld      b,04h                   // ahl=e*16
     77    000030 CD....           call    AHL_LeftShift           //输入参数:b
                                                                    ,hl
     78    000033 010008           ld      bc,800h                 //0816Type A
                                               SCII起始地址=800h
     79    000036 09               add     hl,bc
     80    000037 1838             jr      MoveAsciiPointToBuffer
     81    000039          
     82    000039          _not_ascii:
     83    000039 FE87             cp      0x87                   
     84    00003B 3004             jr      nc,Jump_Japenese_87
     85    00003D                  
     86    00003D          //++++++++++ 0x81~~~~~~0x84 +++++++++++++++
     87    00003D D681             sub     0x81
     88    00003F 1821             jr      japaneseret         
     89    000041                  //call    AddCountQuma            
     90    000041                  //call    AddCountWeima
     91    000041                  //xor     a
     92    000041                  //ld      b,5
     93    000041                  //call    AHL_LeftShift 
     94    000041                  //jp      MoveFontPointToBuffer 
     95    000041                  
     96    000041          Jump_Japenese_87:
     97    000041 FEA0             cp      0xa0
     98    000043 3004             jr      nc,JP_Japenese_A0
     99    000045                  
    100    000045          //+++++++++ 0x87---0x9f ++++++++++++++++
    101    000045 D681             sub     0x81                  //
    102    000047 1819             jr      japaneseret         
    103    000049                  //call    AddCountQuma            
    104    000049                  //call    AddCountWeima
    105    000049                  //xor     a
    106    000049                  //ld      b,5
    107    000049                  //call    AHL_LeftShift 
    108    000049                  //jp      MoveFontPointToBuffer 
    109    000049                  
    110    000049          JP_Japenese_A0:
    111    000049 FEE0             cp      0xe0 
    112    00004B 3003             jr      nc,JP_Japenese_ED 
    113    00004D                  
    114    00004D          //++++++++  0xa0---0xdf +++++++++++++++++++
    115    00004D          //++++++++  该区没有位码 ++++++++++++++++++
    116    00004D C3....           jp      MovePointBufferEnd
    117    000050          
    118    000050          JP_Japenese_ED:
    119    000050 FEED             cp      0xed
    120    000052 3004             jr      nc,JP_Japenese_FA
    121    000054                  
    122    000054          //+++++++++ 0xe0~~~~~~0xea ++++++++++++++++++  
    123    000054 D6C1             sub    0x81+0X40  
    124    000056 180A             jr      japaneseret         
    125    000058                  //call    AddCountQuma            
    126    000058                  //call    AddCountWeima
    127    000058                  //xor     a
    128    000058                  //ld      b,5
    129    000058                  //call    AHL_LeftShift 
    130    000058                  //jp      MoveFontPointToBuffer       
    131    000058                  
    132    000058          JP_Japenese_FA:   
    133    000058 FEFA             cp      0xfa
    134    00005A 3004             jr      nc,Is_Japenese_FA         
    135    00005C                 
    136    00005C          //++++++++ 0xed~~~~~~~0xee ++++++++++++++++++
    137    00005C D6C3             sub     0x81+4+0X40-2
    138    00005E 1802             jr      japaneseret
    139    000060                  //call    AddCountQuma            
    140    000060                  //call    AddCountWeima
    141    000060                  //xor     a
    142    000060                  //ld      b,5
    143    000060                  //call    AHL_LeftShift 
    144    000060                  //jp      MoveFontPointToBuffer 
    145    000060                  
    146    000060          Is_Japenese_FA:
    147    000060 D6CE             sub     0x81+15+0X40-2 
    148    000062          japaneseret:         
    149    000062 CD....           call    AddCountQuma            
    150    000065 CD....           call    AddCountWeima
    151    000068 AF               xor     a
    152    000069 0605             ld      b,5
    153    00006B CD....           call    AHL_LeftShift 
    154    00006E C3....           jp      MoveFontPointToBuffer               
         
    155    000071          //--------------------------------------------------
    156    000071          MoveAsciiPointToBuffer:
    157    000071 ED5B....         ld      de,(AsciiFontLibAddr)
    158    000075 19               add     hl,de
    159    000076 22....           ld      (SD_RWStruct),hl
    160    000079 6F               ld      l,a
    161    00007A 2600             ld      h,0
    162    00007C ED5B....         ld      de,(AsciiFontLibAddr+2)
    163    000080 ED5A             adc     hl,de
    164    000082 22....           ld      (SD_RWStruct+2),hl
    165    000085 1814             jr      MovePointToBuffer
    166    000087          MoveFontPointToBuffer:
    167    000087 ED5B....         ld      de,(FontLibAddr)
    168    00008B 19               add     hl,de
    169    00008C 22....           ld      (SD_RWStruct),hl
    170    00008F 6F               ld      l,a
    171    000090 2600             ld      h,0
    172    000092 ED5B....         ld      de,(FontLibAddr+2)
    173    000096 ED5A             adc     hl,de
    174    000098 22....           ld      (SD_RWStruct+2),hl
    175    00009B          MovePointToBuffer:
    176    00009B 11....           ld      de,SD_RWStruct
    177    00009E 012000           ld      bc,32
    178    0000A1                  mSD_Read
    178.1  0000A1 3E00             ld      a,API_SD_Read
    178.2  0000A3 CF               rst     RSTFastAPI
    178.3  0000A4                  endm
    179    0000A4          MovePointBufferEnd:
    180    0000A4 D1               pop     de
    181    0000A5 C1               pop     bc
    182    0000A6 C9               ret
    183    0000A7          //--------------------------------------------------
 -
    184    0000A7          AddCountASCII:                       //算ICON地址,

⌨️ 快捷键说明

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