sdrv_getfontpoint_thai.lst
来自「一种彩屏驱动以及画点,填充图片和填充数据的一些程序」· LST 代码 · 共 180 行
LST
180 行
################################################################################
# #
# IAR Systems Z80/64180 Assembler V3.03A/WIN 18/May/107 10:53:25 #
# #
# Target option = z80 #
# Source file = d:\case_i_d913f\drv\ui_ssd1332\sdrv_thai\sdrv_getfontpoint_thai.msa#
# List file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_th\list\sdrv_getfontpoint_thai.lst#
# Object file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_th\obj\sdrv_getfontpoint_thai.r01#
# Command line = -v0 -uu #
# -OD:\case_i_d913f\drv\Ui_SSD1332\ui_ssd13_th\Obj\ #
# -s+ -M<> -w+ -r -DIC3951 -DNAPDEBUG #
# -LD:\case_i_d913f\drv\Ui_SSD1332\ui_ssd13_th\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_THAI\Sdrv_GetFontPoint_thai.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 : Rcmai
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 Sdrv_GetFontPoint:
44 000000 C5 push bc
45 000001 D5 push de
46 000002 ED43.... ld (SD_RWStruct+5),bc
47 000006 3E08 ld a,0x08
48 000008 CB70 bit 6,b //bc是否大于4000
h
49 00000A 2804 jr z,_buffer_in_zram
50 00000C // dec a //0x07 fr
am buffer
51 00000C DB05 in a,(05h)
52 00000E E60F and 0fh
53 000010 _buffer_in_zram:
54 000010 32.... ld (SD_RWStruct+7),a
55 000013 GetChineseCharPoint:
56 000013 7B ld a,e //区码
57 000014 FEA0 cp 0xa0
58 000016 3021 jr nc,_not_ascii
59 000018 _is_ascii:
60 000018 3A.... ld a,(AsciiSelect)
61 00001B FE04 cp FONT_TYPE_LARGE
62 00001D 3802 jr c,lsUse0608Type
63 00001F 180A jr lsUse0816Type
64 000021 lsUse0608Type:
65 000021 AF xor a
66 000022 67 ld h,a
67 000023 6B ld l,e
68 000024 0603 ld b,03h // ahl=a*8
69 000026 CD.... call AHL_LeftShift //输入参数:b
,hl
70 000029 181A jr MoveAsciiPointToBuffer
71 00002B lsUse0816Type:
72 00002B AF xor a
73 00002C 67 ld h,a
74 00002D 6B ld l,e
75 00002E 0604 ld b,04h // ahl=a*16
76 000030 CD.... call AHL_LeftShift //输入参数:b
,hl
77 000033 010008 ld bc,800h //0816Type A
SCII起始地址=800h
78 000036 09 add hl,bc
79 000037 180C jr MoveAsciiPointToBuffer
80 000039 _not_ascii:
81 000039 D6A0 sub 0xa0
82 00003B 6F ld l,a
83 00003C AF xor a
84 00003D 67 ld h,a
85 00003E 0604 ld b,0x04 //hl*16
86 000040 CD.... call AHL_LeftShift //输入参数:b
,hl
87 000043 1816 jr MoveFontPointToBuffer
88 000045
89 000045 //--------------------------------------------------
90 000045 MoveAsciiPointToBuffer:
91 000045 ED5B.... ld de,(AsciiFontLibAddr)
92 000049 19 add hl,de
93 00004A 22.... ld (SD_RWStruct),hl
94 00004D 6F ld l,a
95 00004E 2600 ld h,0
96 000050 ED5B.... ld de,(AsciiFontLibAddr+2)
97 000054 ED5A adc hl,de
98 000056 22.... ld (SD_RWStruct+2),hl
99 000059 1814 jr MovePointToBuffer
100 00005B MoveFontPointToBuffer:
101 00005B ED5B.... ld de,(FontLibAddr)
102 00005F 19 add hl,de
103 000060 22.... ld (SD_RWStruct),hl
104 000063 6F ld l,a
105 000064 2600 ld h,0
106 000066 ED5B.... ld de,(FontLibAddr+2)
107 00006A ED5A adc hl,de
108 00006C 22.... ld (SD_RWStruct+2),hl
109 00006F MovePointToBuffer:
110 00006F 11.... ld de,SD_RWStruct
111 000072 012000 ld bc,32
112 000075 mSD_Read
112.1 000075 3E00 ld a,API_SD_Read
112.2 000077 CF rst RSTFastAPI
112.3 000078 endm
113 000078 MovePointBufferEnd:
114 000078 D1 pop de
115 000079 C1 pop bc
116 00007A C9 ret
117 00007B
118 00007B
119 00007B
120 00007B
121 00007B
122 00007B AHL_LeftShift: //输入参数:b,hl
123 00007B CB25 sla l
124 00007D CB14 rl h
125 00007F 17 rla
126 000080 10F9 djnz AHL_LeftShift
127 000082 C9 ret
128 000083
129 000083 /*
130 000083 ****************************************************
****************************
131 000083 * the end of file
132 000083 ****************************************************
****************************
133 000083 */
134 000083 end
##############################
# CRC:3CCD #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 131 #
##############################
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?