📄 ice153.lst
字号:
1 ;R page registers setting
2 0000 R0 ==0X00;
3 0001 TCC ==0X01;
4 0002 R2 ==0X02;
5 0003 R3 ==0X03;
6 0004 R4 ==0X04;
7 0005 port5 ==0x05;
8 0006 port6 ==0x06;
9 000F RF ==0X0F;
10
11 ;IOC page registers setting
12 0001 CONT ==0X01;
13 0005 P5CR ==0X05;
14 0006 P6CR ==0X06;
15 000B PDCR ==0X0B;
16 000C ODCR ==0X0C;
17 000D PHCR ==0X0D;
18 000E WDTCR ==0X0E;
19 000F IOCF ==0X0F;
20
21 ;function check display byte
22 001E port6_buf ==0x1e;
23 001F wdt_buf ==0x1f;
24 0020 port50 ==0x20;
25 0021 port51 ==0x21;
26 0022 port52 ==0x22;
27 0023 port53 ==0x23;
28 0024 port60 ==0x24;
29 0025 port61 ==0x25;
30 0026 port62 ==0x26;
31 0027 port63 ==0x27;
32 0028 port64 ==0x28;
33 0029 port65 ==0x29;
34 002A port66 ==0x2a;
35 002B port67 ==0x2b;
36 002C pulldown_buf==0x2c;
37 002D pullhigh_buf==0x2d;
38 002E tcc_buf ==0x2e;
39 002F int0_buf ==0x2f;
40
41
42 0010 high_value ==0x10;
43 0011 low_value ==0x11;
44 0012 high_value1 ==0x12;
45 0013 low_value1 ==0x13;
46 0014 dt1 ==0x14;
47 0015 dt2 ==0x15;
48 0016 flag ==0x16;
49
50 ;I/Oport input and output display bits setting
51 0000 input0 ==0;
52 0001 input1 ==1;
53 0002 output0 ==2;
54 0003 output1 ==3;
55
56 ;pull-down display bits setting
57 0000 p50_down ==0;
58 0001 p51_down ==1;
59 0002 p52_down ==2;
60 0004 p60_down ==4;
61 0005 p61_down ==5;
62 0006 p62_down ==6;
63
64
65 ;pull-high display bits setting
66 0000 p60_high ==0;
67 0001 p61_high ==1;
68 0002 p62_high ==2;
69 0004 p64_high ==4;
70 0005 p65_high ==5;
71 0006 p66_high ==6;
72 0007 p67_high ==7;
73
74 ;flag bits setting
75 0000 key_flag ==0;
76 0001 key_state ==1;
77 0002 p62_flag ==2;
78 0003 key_over ==3;
79 0003 P ==3;
80 0004 T ==4;
81
82
83 org 000h
84 00000 0000 start: nop
85 00001 1410 jmp main
86 00002 0000 nop
87 00003 0000 nop
88 00004 0000 nop
89 00005 0000 nop
90 00006 0000 nop
91 00007 0000 nop
92
93 org 008h
94 00008 0000 nop
95 00009 168C jmp intin
96 0000A 0000 nop
97 0000B 0000 nop
98 0000C 0000 nop
99 0000D 0000 nop
100 0000E 0000 nop
101 0000F 0000 nop
102
103 org 010h
104 00010 0000 main: nop
105 00011 0000 nop
106 00012 0000 nop
107 00013 0000 nop
108 00014 0000 nop
109 00015 0000 nop
110 00016 0000 nop
111 00017 0000 nop
112 00018 0000 nop
113 00019 0000 nop
114 0001A 0000 nop
115 0001B 0000 nop
116 0001C 0000 nop
117 0001D 0000 nop
118 0001E 0F03 jbs r3, T
119 0001F 142B jmp main1
120 00020 0EC3 jbs r3, P
121 00021 142B jmp main1
122 00022 18FF mov a, @0xff ;clear sram
123 00023 0044 mov r4, a
124 00024 00C0 clr r0
125 00025 01C4 dec r4
126 00026 0404 mov a, r4
127 00027 1F3F add a, @0x3f
128 00028 1D0E sub a, @0x0e
129 00029 0E03 jbs r3, 0
130 0002A 1424 jmp $-6
131 /**************************************/
132 0002B 1800 main1: mov a, @0x00
133 0002C 000E iow WDTCR
134 0002D 0002 contw
135 /**************************************/
136 0002E benchmark1:
137 0002E 1807 mov a, @0x07 ;set P53 output 0,others input
138 0002F 0005 iow P5CR
139 00030 18FF mov a, @0xff
140 00031 0006 iow P6CR
141 00032 08C5 bc port5, 3
142 00033 12CB call delay
143 00034 0E05 jbs port5, 0
144 00035 0553 inc low_value1
145 00036 0000 nop
146 00037 0E45 jbs port5, 1
147 00038 0553 inc low_value1
148 00039 0000 nop
149 0003A 0E85 jbs port5, 2
150 0003B 0553 inc low_value1
151 0003C 0000 nop
152 /**************************************/
153 0003D 0E06 jbs port6, 0
154 0003E 0553 inc low_value1
155 0003F 0000 nop
156 00040 0E46 jbs port6, 1
157 00041 0553 inc low_value1
158 00042 0000 nop
159 00043 0E86 jbs port6, 2
160 00044 0553 inc low_value1
161 00045 0000 nop
162 00046 0EC6 jbs port6, 3
163 00047 0553 inc low_value1
164 00048 0000 nop
165
166 /**************************************/
167 00049 benchmark2:
168 00049 0AC5 bs port5, 3 ;set P53 output 1,others input
169 0004A 12CB call delay
170 0004B 0C05 jbc port5, 0
171 0004C 0552 inc high_value1
172 0004D 0000 nop
173 0004E 0C45 jbc port5, 1
174 0004F 0552 inc high_value1
175 00050 0000 nop
176 00051 0C85 jbc port5, 2
177 00052 0552 inc high_value1
178 00053 0000 nop
179 /**************************************/
180 00054 0C06 jbc port6, 0
181 00055 0552 inc high_value1
182 00056 0000 nop
183 00057 0C46 jbc port6, 1
184 00058 0552 inc high_value1
185 00059 0000 nop
186 0005A 0C86 jbc port6, 2
187 0005B 0552 inc high_value1
188 0005C 0000 nop
189 0005D 0CC6 jbc port6, 3
190 0005E 0552 inc high_value1
191 0005F 0000 nop
192
193 /**************************************/
194 00060 180E benchmark3: mov a, @0x0e ;set P50 output,others input
195 00061 0005 iow P5CR
196 00062 18FF mov a, @0xff
197 00063 0006 iow P6CR
198 00064 0A05 bs port5, 0
199 00065 12CB call delay
200 00066 0CC5 jbc port5, 3
201 00067 0550 inc high_value
202 00068 0805 bc port5, 0
203 00069 12CB call delay
204 0006A 0EC5 jbs port5, 3
205 0006B 0551 inc low_value
206 0006C 0000 nop
207 /**************************************/
208 0006D 180D benchmark4: mov a, @0x0d ;set P51 output,others input
209 0006E 0005 iow P5CR
210 0006F 18FF mov a, @0xff
211 00070 0006 iow P6CR
212 00071 0A45 bs port5, 1
213 00072 12CB call delay
214 00073 0CC5 jbc port5, 3
215 00074 0550 inc high_value
216 00075 0845 bc port5, 1
217 00076 12CB call delay
218 00077 0EC5 jbs port5, 3
219 00078 0551 inc low_value
220 00079 0000 nop
221 /**************************************/
222 0007A 180B benchmark5: mov a, @0x0b ;set P52 output,others input
223 0007B 0005 iow P5CR
224 0007C 18FF mov a, @0xff
225 0007D 0006 iow P6CR
226 0007E 0A85 bs port5, 2
227 0007F 12CB call delay
228 00080 0CC5 jbc port5, 3
229 00081 0550 inc high_value
230 00082 0885 bc port5, 2
231 00083 12CB call delay
232 00084 0EC5 jbs port5, 3
233 00085 0551 inc low_value
234 00086 0000 nop
235 /**************************************/
236 00087 180F benchmark6: mov a, @0x0f ;set P60 output,others input
237 00088 0005 iow P5CR
238 00089 18FE mov a, @0xfe
239 0008A 0006 iow P6CR
240 0008B 0A06 bs port6, 0
241 0008C 12CB call delay
242 0008D 0CC5 jbc port5, 3
243 0008E 0550 inc high_value
244 0008F 0806 bc port6, 0
245 00090 12CB call delay
246 00091 0EC5 jbs port5, 3
247 00092 0551 inc low_value
248 00093 0000 nop
249 /**************************************/
250 00094 180F benchmark7: mov a, @0x0f ;set P61 output,others input
251 00095 0005 iow P5CR
252 00096 18FD mov a, @0xfd
253 00097 0006 iow P6CR
254 00098 0A46 bs port6, 1
255 00099 12CB call delay
256 0009A 0CC5 jbc port5, 3
257 0009B 0550 inc high_value
258 0009C 0846 bc port6, 1
259 0009D 12CB call delay
260 0009E 0EC5 jbs port5, 3
261 0009F 0551 inc low_value
262 000A0 0000 nop
263 /**************************************/
264 000A1 180F benchmark8: mov a, @0x0f ;set P62 output,others input
265 000A2 0005 iow P5CR
266 000A3 18FB mov a, @0xfb
267 000A4 0006 iow P6CR
268 000A5 0A86 bs port6, 2
269 000A6 12CB call delay
270 000A7 0CC5 jbc port5, 3
271 000A8 0550 inc high_value
272 000A9 0886 bc port6, 2
273 000AA 12CB call delay
274 000AB 0EC5 jbs port5, 3
275 000AC 0551 inc low_value
276 000AD 0000 nop
277
278 /**************************************/
279 000AE port53check:
280 000AE 0410 mov a, high_value
281 000AF 1D01 sub a, @0x01
282 000B0 0C03 jbc r3, 0
283 000B1 16D9 jmp IO_error
284 000B2 0411 mov a, low_value
285 000B3 1D01 sub a, @0x01
286 000B4 0C03 jbc r3, 0
287 000B5 16D9 jmp IO_error
288 000B6 0412 mov a, high_value1
289 000B7 1D01 sub a, @0x01
290 000B8 0C03 jbc r3, 0
291 000B9 16D9 jmp IO_error
292 000BA 0413 mov a, low_value1
293 000BB 1D01 sub a, @0x01
294 000BC 0C03 jbc r3, 0
295 000BD 16D9 jmp IO_error
296 000BE 180F mov a, @0x0f
297 000BF 0063 mov port53,a
298
299 /**************************************/
300 000C0 input_check:
301 000C0 1807 mov a, @0x07 ;set P53 output,others input
302 000C1 0005 iow P5CR
303 000C2 18FF mov a, @0xff
304 000C3 0006 iow P6CR
305 000C4 input0_check:
306 000C4 08C5 bc port5, 3 ;set P53 output1,others input
307 000C5 12CB call delay
308 000C6 0E05 jbs port5, 0
309 000C7 0A20 bs port50, input0
310 000C8 0000 nop
311 000C9 0E45 jbs port5, 1
312 000CA 0A21 bs port51, input0
313 000CB 0000 nop
314 000CC 0E85 jbs port5, 2
315 000CD 0A22 bs port52, input0
316 000CE 0000 nop
317 /**************************************/
318 000CF 0E06 jbs port6, 0
319 000D0 0A24 bs port60, input0
320 000D1 0000 nop
321 000D2 0E46 jbs port6, 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -