📄 graphic.lst
字号:
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:03 Page: 1
graphic
LOC CODE LINE SOURCELINE
1 ; TASKING C166/ST10 C compiler v8.0r1 Build 651 SN 00096962
2 ; options: -e -Ic:\program files\tasking\c166 v8.0\include -xmidfp
3 ; -DCPUTYPE=0x167 -Bhoeufmknladij -OB -zautobitastruct-4 -zautobita-0
4 ; -T256 -FSC -A1 -zvolatile_union -O0 -g -s -Mm
5 $DEBUG
6 $NOLOCALS
7 $EXTEND
8 $NOMOD166
9 $STDNAMES(reg262.def)
10 $EXTMAC
11 $SEGMENTED
12 $CASE
13 $MODEL(MEDIUM)
14 NAME GRAPHIC_C
15 ASSUME DPP3:SYSTEM
16 ?SYMB 'graphic.c',32,80,16
17 ?SYMB '',1,82,0
18 ?SYMB '80166',0,84,0
19 ?SYMB '',0,81,0
20 ?SYMB 'void',00H,45,1
21 ?SYMB 'char',080000H,45,2
22 ?SYMB 'unsigned char',080000H,45,3
23 ?SYMB 'short',0100000H,45,4
24 ?SYMB 'unsigned short',0100000H,45,5
25 ?SYMB 'long',0200000H,45,6
26 ?SYMB 'unsigned long',0200000H,45,7
27 ?SYMB 'float',0200000H,45,10
28 ?SYMB 'double',0400000H,45,11
29 ?SYMB 'int',0100000H,45,16
30 ?SYMB 'unsigned int',0100000H,45,18
31 ?SYMB 'bit',010000H,7,256
32 ?SYMB 'graphic.c',0,29,1
33 ?SYMB '',0,86,1
34 ; graphic.c 1 //*********************************************************************
********
35 ; graphic.c 2 // Project Name: Graphic library for draw on graphic LCD
36 ; graphic.c 3 // Description: Graphic library for draw on graphic LCD
37 ; graphic.c 4 // Filename: graphic.c
38 ; graphic.c 5 // Processor:
39 ; graphic.c 6 // Revision: 1.0
40 ; graphic.c 7 // Date: 20.04.2004
41 ; graphic.c 8 // Compiler: C compiler IAR
42 ; graphic.c 9 // Author: Radek Pulpan
43 ; graphic.c 10 // Company:
44 ; graphic.c 11 // Email: pulpan@centrum.cz
45 ; graphic.c 12 //*********************************************************************
********
46 ; graphic.c 13 #include "common.h"
47 ?SYMB 'common.h',0,29,2
48 ?SYMB '',0,86,2
49 ?SYMB 'types.h',0,29,3
50 ?SYMB '',0,86,3
51 ?SYMB '',0,86,2
52 ?SYMB 'appcfg.h',0,29,3
53 ?SYMB '',0,86,3
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:03 Page: 2
graphic
LOC CODE LINE SOURCELINE
54 ?SYMB '',0,86,2
55 ?SYMB 'c:\program files\tasking\c166 v8.0\include\reg276.h',0,29,3
56 ?SYMB '',0,86,3
57 ?SYMB '',0,86,2
58 ?SYMB '',0,86,1
59 ; graphic.c 14 #include "graphic.h"
60 ?SYMB 'graphic.h',0,29,2
61 ?SYMB '',0,86,2
62 ?SYMB 'T$1',0,40,257
63 ?SYMB 'x',0,23,5
64 ?SYMB 'y',16,23,5
65 ?SYMB '',32,18,0
66 ?SYMB 'coordinate',257,13,258
67 ?SYMB '',0,86,1
68 ; graphic.c 15 #include "LCD_pg320240.h"
69 ?SYMB 'LCD_pg320240.h',0,29,2
70 ?SYMB '',0,86,2
71 ?SYMB 'ports.h',0,29,3
72 ?SYMB '',0,86,3
73 ?SYMB '',0,86,2
74 ?SYMB '',0,86,1
75 ; graphic.c 16
76 ; graphic.c 17
77 ; graphic.c 18 void linex(coordinate a, unsigned short l, unsigned char Color)
78 ; graphic.c 19 {
79 GRAPHIC_1_PR SECTION CODE WORD PUBLIC 'CPROGRAM'
80 ?LINE 19
81 PUBLIC _linex
R 82 ?SYMB 'linex',_linex,37,1
83 ?SYMB '',19,8,34
84 _linex PROC NEAR
85 ?SYMB '',00H,95,0
0000 2804 86 SUB R0,#04h
R 87 ?SYMB '',$,96,4
88 ; Locals:
89 ; Address = offset 0
90 ; Color = offset 10
91 ; i = offset 2
92 ; a = offset 4
93 ; l = offset 8
94 ;
95 ; Statics:
96 ;
97 ; CSEs:
98 ;
99 ?LINE 19
100 ?SYMB 'a',4,99,258
R 101 ?SYMB '0',$,101,4
102 ?SYMB 'l',5,99,5
R 103 ?SYMB '4',$,101,5
104 ?SYMB 'Color',2,99,3
R 105 ?SYMB '6',$,101,2
106 ; graphic.c 20 unsigned int i, Address;
107 ?LINE 20
108 ?SYMB 'i',3,98,18
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:03 Page: 3
graphic
LOC CODE LINE SOURCELINE
R 109 ?SYMB '-2',$,101,3
110 ?SYMB 'Address',1,98,18
R 111 ?SYMB '-4',$,101,1
112 ; graphic.c 21 a.x = a.x / 2;
113 ?LINE 21
0002 D4C00400 114 MOV R12,[R0+#04H]
0006 7C1C 115 SHR R12,#01h
0008 C4C00400 116 MOV [R0+#04H],R12
117 ; graphic.c 22 Address = a.x + (a.y * 160);
118 ?LINE 22
000C D4C00400 119 MOV R12,[R0+#04H]
0010 D4D00600 120 MOV R13,[R0+#06H]
0014 F0ED 121 MOV R14,R13
0016 5C2E 122 SHL R14,#02h
0018 00ED 123 ADD R14,R13
001A 5C5E 124 SHL R14,#05h
001C 00CE 125 ADD R12,R14
001E B8C0 126 MOV [R0],R12
127 ; graphic.c 23 Color = (Color & 0x0F)|(Color << 4);
128 ?LINE 23
0020 F4200A00 129 MOVB RL1,[R0+#0AH]
0024 67F20F00 130 ANDB RL1,#0Fh
0028 F4400A00 131 MOVB RL2,[R0+#0AH]
002C C042 132 MOVBZ R2,RL2
002E 5C42 133 SHL R2,#04h
0030 7124 134 ORB RL1,RL2
0032 E4200A00 135 MOVB [R0+#0AH],RL1
136 ; graphic.c 24 for (i=0; i<l; i+=2)
137 ?LINE 24
0036 E00C 138 MOV R12,#00h
0038 C4C00200 139 MOV [R0+#02H],R12
003C 0D1D 140 JMPR cc_UC,_6
003E 141 _3:
142 ; graphic.c 25 {
143 ; graphic.c 26 if (Address < 8) lcd_write((Address + 0x95F8),Color);
144 ?LINE 26
003E A8C0 145 MOV R12,[R0]
0040 46FC0800 146 CMP R12,#08h
0044 9D09 147 JMPR cc_UGE,_4
0046 A8C0 148 MOV R12,[R0]
0048 06FCF895 149 ADD R12,#095F8h
004C F4200A00 150 MOVB RL1,[R0+#0AH]
0050 C02D 151 MOVBZ R13,RL1
0052 CA000000 R 152 CALLA cc_UC,_lcd_write
0056 0D08 153 JMPR cc_UC,_5
0058 154 _4:
155 ; graphic.c 27 else lcd_write(Address - 8,Color);
156 ?LINE 27
0058 A8C0 157 MOV R12,[R0]
005A 26FC0800 158 SUB R12,#08h
005E F4200A00 159 MOVB RL1,[R0+#0AH]
0062 C02D 160 MOVBZ R13,RL1
0064 CA000000 R 161 CALLA cc_UC,_lcd_write
0068 162 _5:
163 ; graphic.c 28 Address++;
TASKING C166/ST10 assembler v8.0r1 Build 256 SN 00096962 Date: Apr 23 2004 Time: 16:27:03 Page: 4
graphic
LOC CODE LINE SOURCELINE
164 ?LINE 28
0068 A8C0 165 MOV R12,[R0]
006A 08C1 166 ADD R12,#01h
006C B8C0 167 MOV [R0],R12
168 ?LINE 24
006E D4C00200 169 MOV R12,[R0+#02H]
0072 08C2 170 ADD R12,#02h
0074 C4C00200 171 MOV [R0+#02H],R12
0078 172 _6:
0078 D4C00200 173 MOV R12,[R0+#02H]
007C D4D00800 174 MOV R13,[R0+#08H]
0080 40CD 175 CMP R12,R13
0082 8DDD 176 JMPR cc_ULT,_3
177 ; graphic.c 29 }
178 ; graphic.c 30 }
179 ?LINE 30
R 180 ?SYMB '',$,102,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -