📄 sdrv_clrscreen.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/May/107 10:54:37 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = large #
# Source file = d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_clrscreen.c#
# List file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_clrscreen.lst#
# Object file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\obj\sdrv_clrscreen.r01#
# ASM file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_r\list\sdrv_clrscreen.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_clrscreen.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sdrv_clrscreen(16)
\ 0000 RSEG BAC_CLRS(0)
\ 0000 EXTERN BAPI_FillRect
\ 0000 PUBLIC Sdrv_ClearScreen
\ 0000 EXTERN dc
\ 0000 EXTERN region
\ 0000 EXTERN ?CLZ80L_4_04_L00
\ 0000 RSEG BAC_CLRS
\ 0000 Sdrv_ClearScreen:
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_ClrScreen.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 memory=constseg(BAS_CLRS)
18 #pragma memory=default
19
20 #pragma memory=dataseg(BAD_CLRS)
21 //SD_RW sdrw;
22 //extern unsigned char BufPage;
23 #pragma memory=default
24
25 #pragma codeseg(BAC_CLRS)
26
27
28 ////*******************************************************************************/
29 ///*
30 //** FUNCTION: ClearScreen
31 //**
32 //** Description: 把指定的屏幕区域清为背景色
33 //**
34 //** input
35 //** region_t *clrregion :要清屏的区域,如为 NULL 则清全屏
36 //**
37 //** output
38 //** none
39 //********************************************************************************/
40
41 void Sdrv_ClearScreen(region_t *clrregion)
42 {
\ 0000 C5 PUSH BC
\ 0001 DDE5 PUSH IX
\ 0003 F5 PUSH AF
\ 0004 F5 PUSH AF
\ 0005 D5 PUSH DE
\ 0006 DDE1 POP IX
43 COLORREF PenColor_bak;
44
45 //暂存当前画笔颜色(因为清屏时是把指定区域填成背景色)
46 PenColor_bak = dc.PenColor;
\ 0008 210000 LD HL,0
\ 000B 39 ADD HL,SP
\ 000C ED4B0200 LD BC,(dc+2)
\ 0010 ED5B0000 LD DE,(dc)
\ 0014 73 LD (HL),E
\ 0015 23 INC HL
\ 0016 72 LD (HL),D
\ 0017 23 INC HL
\ 0018 71 LD (HL),C
\ 0019 23 INC HL
\ 001A 70 LD (HL),B
47 dc.PenColor = dc.BackgdColor;//把画笔颜色改为背景色
\ 001B 210400 LD HL,dc+4
\ 001E 5E LD E,(HL)
\ 001F 23 INC HL
\ 0020 56 LD D,(HL)
\ 0021 23 INC HL
\ 0022 4E LD C,(HL)
\ 0023 23 INC HL
\ 0024 46 LD B,(HL)
\ 0025 EB EX DE,HL
\ 0026 220000 LD (dc),HL
\ 0029 ED430200 LD (dc+2),BC
48 //Hdrv_SetDrawMode(DrawModeH_def); //把显示模式设置成竖向显示模式(与旧字库兼容)
49 if (clrregion == NULL)
\ 002D DD7D LD A,IXL
\ 002F DDB4 OR IXH
\ 0031 2015 JR NZ,?0001
\ 0033 ?0000:
50 {
51 //把显示区域设置为全屏
52 region.x = 0;
\ 0033 320000 LD (region),A
53 region.y = 0;
\ 0036 320100 LD (region+1),A
54 region.width = Displaylength;
\ 0039 3EA0 LD A,160
\ 003B 320200 LD (region+2),A
55 region.height = Displayhight;
\ 003E 3E80 LD A,128
\ 0040 320300 LD (region+3),A
56 BAPI_FillRect (®ion);
\ 0043 110000 LD DE,region
\ 0046 1803 JR ?0004
57 }
58 else
\ 0048 ?0001:
59 {
60 BAPI_FillRect (clrregion);
\ 0048 DDE5 PUSH IX
\ 004A D1 POP DE
\ 004B ?0004:
\ 004B CD0000 CALL BAPI_FillRect
\ 004E ?0002:
61 }
62 dc.PenColor = PenColor_bak;//恢复画笔颜色
\ 004E 210000 LD HL,0
\ 0051 39 ADD HL,SP
\ 0052 5E LD E,(HL)
\ 0053 23 INC HL
\ 0054 56 LD D,(HL)
\ 0055 23 INC HL
\ 0056 4E LD C,(HL)
\ 0057 23 INC HL
\ 0058 46 LD B,(HL)
\ 0059 EB EX DE,HL
\ 005A 220000 LD (dc),HL
\ 005D ED430200 LD (dc+2),BC
63 return;
64 }
\ 0061 E1 POP HL
\ 0062 E1 POP HL
\ 0063 DDE1 POP IX
\ 0065 C1 POP BC
\ 0066 C9 RET
65
\ 0067 END
Errors: none
Warnings: none
Code size: 103
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -