📄 sdrv_deallcmpara.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 + -