📄 sdrv_textoutrect.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 22/Sep/107 19:35:26 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = large #
# Source file = d:\case_i_d913f\drv\ui_ssd1332\sdrv\sdrv_textoutrect.c#
# List file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_t\list\sdrv_textoutrect.lst#
# Object file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_t\obj\sdrv_textoutrect.r01#
# ASM file = d:\case_i_d913f\drv\ui_ssd1332\ui_ssd13_t\list\sdrv_textoutrect.s01#
# Command line = -v0 -ml -uu #
# -OD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_T\Obj\ #
# -e -K -w -gA -s9 -RCODE -r0 -DIC3951 -DNAPDEBUG #
# -LD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_T\List\ #
# -q -t8 #
# -AD:\case_i_d913f\drv\Ui_SSD1332\UI_SSD13_T\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_textoutrect.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sdrv_textoutrect(16)
\ 0000 RSEG BBC_PUTS(0)
\ 0000 PUBLIC Sdrv_TextOutRect
\ 0000 EXTERN region_win
\ 0000 EXTERN regionbak_win
\ 0000 EXTERN ?CLZ80L_4_04_L00
\ 0000 RSEG BBC_PUTS
\ 0000 Sdrv_TextOutRect:
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 : Sdrv_TextOutRect.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(BBS_PUTS)
18 #pragma memory=default
19
20 #pragma memory=dataseg(BBD_PUTS)
21 #pragma memory=default
22
23 #pragma codeseg(BBC_PUTS)
24
25 ////*******************************************************************************/
26 ///* non_banked void Sdrv_TextOutRect(region_t * region, char *str);
27 //** FUNCTION: Sdrv_TextOutRect
28 //**
29 //** Description: 在指定的区域上输出一个字符串,如串的长度超过区域则自动换行
30 // 直到字符结束或区域用完
31 //** input
32 //** region_t * TORregion: 指定输出字符的区域 ;
33 //** strlen: 字符串首址
34 //**
35 //** output
36 //** none
37 //********************************************************************************/
38 //non_banked void Sdrv_TextOutRect(region_t * TORregion, char *str)
39 non_banked char *Sdrv_TextOutRect(region_t * TORregion, char mode)
40 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
41
42 if(mode)
\ 0002 AF XOR A
\ 0003 B1 OR C
\ 0004 281C JR Z,?0001
\ 0006 ?0000:
43 {
44 regionbak_win = region_win;
\ 0006 110000 LD DE,regionbak_win
\ 0009 210000 LD HL,region_win
\ 000C 010400 LD BC,4
\ 000F EDB0 LDIR
45 region_win = *TORregion;
\ 0011 110000 LD DE,region_win
\ 0014 69 LD L,C
\ 0015 60 LD H,B
\ 0016 39 ADD HL,SP
\ 0017 46 LD B,(HL)
\ 0018 23 INC HL
\ 0019 66 LD H,(HL)
\ 001A 68 LD L,B
\ 001B 010400 LD BC,4
\ 001E EDB0 LDIR
46 }
47 else
\ 0020 180B JR ?0002
\ 0022 ?0001:
48 region_win = regionbak_win;
\ 0022 110000 LD DE,region_win
\ 0025 210000 LD HL,regionbak_win
\ 0028 010400 LD BC,4
\ 002B EDB0 LDIR
\ 002D ?0002:
49
50 /*
51 char *str_tmp;//记录当前输出到的字符首址
52 region_t oldregion_bak;//备份原来的窗口值
53
54 oldregion_bak = region_win;
55
56 //设置输出窗口
57 region_win = *TORregion;
58
59 //
60 str_tmp = str;
61
62 //设置输出字符串的起点
63 region.x = region_win.x;
64 region.y = region_win.y;
65 do
66 {
67 str_tmp = BAPI_PutS(str_tmp, -1);
68 region.x = region_win.x; //回到区域首列
69 region.y += StrHeight; //加刚才那一行的高度
70 }while(PutCharErrFlag == RESULT_PUTCHAR_X_ERR);//x轴超限,要回到下一行
71 region_win = oldregion_bak;//恢复原来的窗口
72 return;
73 */
74 }
\ 002D E1 POP HL
\ 002E E1 POP HL
\ 002F C9 RET
\ 0030 END
Errors: none
Warnings: none
Code size: 48
Constant size: 0
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -