1 | ;**********************************************************************
|
2 | ; This file is a basic code template for assembly code generation *
|
3 | ; on the PIC16F877A. This file contains the basic code *
|
4 | ; building blocks to build upon. *
|
5 | ; *
|
6 | ; Refer to the MPASM User's Guide for additional information on *
|
7 | ; features of the assembler (Document DS33014). *
|
8 | ; *
|
9 | ; Refer to the respective PIC data sheet for additional *
|
10 | ; information on the instruction set. *
|
11 | ; *
|
12 | ;**********************************************************************
|
13 | ; *
|
14 | ; Filename: Displayinitialisierung 16F877A.asm *
|
15 | ; Date: *
|
16 | ; File Version: 1.0 *
|
17 | ; *
|
18 | ; Author: *
|
19 | ; Company: *
|
20 | ; *
|
21 | ; *
|
22 | ;**********************************************************************
|
23 | ; *
|
24 | ; Files Required: P16F877A.INC *
|
25 | ; *
|
26 | ;**********************************************************************
|
27 | ; *
|
28 | ; Notes: *
|
29 | ; *
|
30 | ;**********************************************************************
|
31 |
|
32 |
|
33 | list p=16f877A ; list directive to define processor
|
34 | #include <p16f877A.inc> ; processor specific variable definitions
|
35 |
|
36 | __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
|
37 |
|
38 | ; '__CONFIG' directive is used to embed configuration data within .asm file.
|
39 | ; The lables following the directive are located in the respective .inc file.
|
40 | ; See respective data sheet for additional information on configuration word.
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 | ;***** VARIABLE DEFINITIONS
|
48 | w_temp EQU 0x7D ; variable used for context saving
|
49 | status_temp EQU 0x7E ; variable used for context saving
|
50 | pclath_temp EQU 0x7F ; variable used for context saving
|
51 | buffer EQU 0x20
|
52 | bytecount EQU 0x21
|
53 | counterp EQU 0x22
|
54 | counter0 EQU 0x23
|
55 | timercache EQU 0x24
|
56 | timer EQU 0x25
|
57 | wait1 EQU 0x26
|
58 | wait2 EQU 0x27
|
59 | rstwait1 EQU 0x28
|
60 | rstwait2 EQU 0x29
|
61 |
|
62 |
|
63 | ; Pin Definitionen
|
64 |
|
65 | #define SCE PORTB,0
|
66 | #define RST PORTB,3
|
67 | #define DC PORTB,4
|
68 | #define VDD PORTB,5 ; VDD Display
|
69 | #define SW1 PORTB,6 ; On/Off
|
70 | #define SW2 PORTB,7 ; PWM Steuerung
|
71 | #define COLLED PORTA,0 ; Datenkollisions-LED
|
72 | #define BL PORTA,1 ; Hintergrundbeleuchtung PWM gesteuert
|
73 |
|
74 |
|
75 |
|
76 |
|
77 | ;**********************************************************************
|
78 | ORG 0x000 ; processor reset vector
|
79 | clrf PCLATH ; ensure page bits are cleared
|
80 | goto Init ; go to beginning of program
|
81 |
|
82 | ORG 0x004 ; interrupt vector location
|
83 |
|
84 | movwf w_temp ; save off current W register contents
|
85 | movf STATUS,w ; move status register into W register
|
86 | movwf status_temp ; save off contents of STATUS register
|
87 | movf PCLATH,w ; move pclath register into w register
|
88 | movwf pclath_temp ; save off contents of PCLATH register
|
89 |
|
90 | ; isr code can go here or be located as a call subroutine elsewhere
|
91 |
|
92 | movf pclath_temp,w ; retrieve copy of PCLATH register
|
93 | movwf PCLATH ; restore pre-isr PCLATH register contents
|
94 | movf status_temp,w ; retrieve copy of STATUS register
|
95 | movwf STATUS ; restore pre-isr STATUS register contents
|
96 | swapf w_temp,f
|
97 | swapf w_temp,w ; restore pre-isr W register contents
|
98 | retfie ; return from interrupt
|
99 |
|
100 |
|
101 |
|
102 | Init
|
103 |
|
104 | clrf INTCON
|
105 | BCF STATUS, RP0 ;
|
106 | BCF STATUS, RP1 ; Bank0
|
107 | CLRF PORTA ; Initialize PORTA by
|
108 | CLRF PORTB
|
109 | clrf PORTC ; clearing output
|
110 | ; data latches
|
111 | BSF STATUS, RP0 ; Select Bank 1
|
112 | MOVLW 0x06 ; Configure all pins
|
113 | MOVWF ADCON1 ; as digital inputs
|
114 | bcf STATUS, RP0 ; unschalten auf Bank 0
|
115 | bsf STATUS, RP0
|
116 | movlw B'00000000' ; RA output
|
117 | movwf TRISA
|
118 | bcf STATUS, RP0
|
119 | clrf PORTA
|
120 | bsf STATUS, RP0
|
121 | movlw B'11000000' ;RB0-RB5 output
|
122 | movwf TRISB
|
123 | bcf STATUS, RP0
|
124 | clrf PORTB
|
125 | bsf STATUS, RP0
|
126 | movlw B'00001000' ; RC output
|
127 | movwf TRISC
|
128 | bcf STATUS, RP0
|
129 | clrf PORTC
|
130 | bsf STATUS, RP0
|
131 | movlw B'01000000'
|
132 | movwf SSPSTAT
|
133 | bcf STATUS, RP0
|
134 | movlw B'00100001'
|
135 | movwf SSPCON
|
136 | movlw D'123'
|
137 | movwf counter0
|
138 | clrf PIR1
|
139 |
|
140 | LCDinit
|
141 |
|
142 |
|
143 | bsf SCE
|
144 | bsf VDD
|
145 | bcf RST ; Display Reset nach Vdd on
|
146 | clrf rstwait1
|
147 | clrf rstwait2
|
148 | call wait4rst
|
149 | bcf DC
|
150 | bsf RST
|
151 | goto config1
|
152 |
|
153 |
|
154 | wait4rst
|
155 |
|
156 | clrf STATUS
|
157 | incfsz rstwait1,f
|
158 | goto wait4rst
|
159 | clrf STATUS
|
160 | incfsz rstwait2,f
|
161 | goto wait4rst
|
162 |
|
163 | return
|
164 |
|
165 | config1
|
166 |
|
167 | bcf SCE
|
168 | movlw B'00100001'
|
169 | movwf SSPBUF
|
170 |
|
171 |
|
172 | BANKSEL SSPSTAT ; BANK 1
|
173 |
|
174 | config2
|
175 |
|
176 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
177 | goto config2 ; if not, check again
|
178 | BANKSEL SSPBUF ; BANK0
|
179 | movf SSPBUF,W ; Get Data from SSPBUF
|
180 | ; ; Throw it away
|
181 | bcf DC
|
182 | movlw 0xB5 ;Displaykontrast**************************************************************
|
183 | movwf SSPBUF
|
184 | btfsc SSPCON,7
|
185 | bcf COLLED
|
186 |
|
187 | BANKSEL SSPSTAT
|
188 |
|
189 | config3
|
190 |
|
191 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
192 | goto config3 ; if not, check again
|
193 | BANKSEL SSPBUF ; BANK0
|
194 | movf SSPBUF,W ; Get Data from SSPBUF
|
195 | ; ; Throw it away
|
196 | bcf DC
|
197 | movlw 0x04
|
198 | movwf SSPBUF
|
199 | btfsc SSPCON,7
|
200 | bsf COLLED
|
201 |
|
202 | BANKSEL SSPSTAT
|
203 |
|
204 | config4
|
205 |
|
206 |
|
207 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
208 | goto config4 ; if not, check again
|
209 | BANKSEL SSPBUF ; BANK0
|
210 | movf SSPBUF,W ; Get Data from SSPBUF
|
211 | ; ; Throw it away
|
212 | bcf DC
|
213 | movlw 0x14
|
214 | movwf SSPBUF
|
215 | btfsc SSPCON,7
|
216 | bcf COLLED
|
217 |
|
218 | BANKSEL SSPSTAT
|
219 |
|
220 | config5
|
221 |
|
222 |
|
223 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
224 | goto config5 ; if not, check again
|
225 | BANKSEL SSPBUF ; BANK0
|
226 | movf SSPBUF,W ; Get Data from SSPBUF
|
227 | ; ; Throw it away
|
228 | bcf DC
|
229 | movlw 0x20
|
230 | movwf SSPBUF
|
231 | btfsc SSPCON,7
|
232 | bsf COLLED
|
233 |
|
234 | BANKSEL SSPSTAT
|
235 |
|
236 | config6
|
237 |
|
238 |
|
239 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
240 | goto config2 ; if not, check again
|
241 | BANKSEL SSPBUF ; BANK0
|
242 | movf SSPBUF,W ; Get Data from SSPBUF
|
243 | ; ; Throw it away
|
244 | bcf DC
|
245 | movlw 0x0C
|
246 | movwf SSPBUF
|
247 | btfsc SSPCON,7
|
248 | bcf COLLED
|
249 |
|
250 | BANKSEL SSPSTAT
|
251 |
|
252 | config7
|
253 |
|
254 |
|
255 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
256 | goto config2 ; if not, check again
|
257 | BANKSEL SSPBUF ; BANK0
|
258 | movf SSPBUF,W ; Get Data from SSPBUF
|
259 | ; ; Throw it away
|
260 | bcf DC
|
261 | movlw B'00100010'
|
262 | movwf SSPBUF
|
263 | btfsc SSPCON,7
|
264 | bsf COLLED
|
265 |
|
266 | bsf SCE
|
267 |
|
268 | LCDon
|
269 |
|
270 | btfsc SW1
|
271 | goto LCDon
|
272 | call wait4set
|
273 | clrf wait1
|
274 | clrf wait2
|
275 | call setxaddr
|
276 | bsf DC
|
277 | bcf SCE
|
278 | goto SendT1
|
279 |
|
280 | setxaddr
|
281 |
|
282 | bcf DC
|
283 | BANKSEL SSPSTAT
|
284 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
285 | goto setxaddr ; if not, check again
|
286 | BANKSEL SSPBUF ; BANK0
|
287 | movf SSPBUF,W ; Get Data from SSPBUF
|
288 | ; ; Throw it away
|
289 | bcf DC
|
290 | bcf SCE
|
291 | movlw B'10000000'
|
292 | movwf SSPBUF
|
293 | btfsc SSPCON,7
|
294 | bcf COLLED
|
295 |
|
296 | BANKSEL SSPSTAT
|
297 | setyaddr
|
298 |
|
299 | bcf DC
|
300 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
301 | goto setyaddr ; if not, check again
|
302 | BANKSEL SSPBUF ; BANK0
|
303 | movf SSPBUF,W ; Get Data from SSPBUF
|
304 | ; ; Throw it away
|
305 | movlw B'01000000'
|
306 | movwf SSPBUF
|
307 | btfsc SSPCON,7
|
308 | bsf COLLED
|
309 |
|
310 |
|
311 | return
|
312 |
|
313 | wait4set
|
314 |
|
315 | clrf STATUS
|
316 | incfsz wait1,f
|
317 | goto wait4set
|
318 | clrf STATUS
|
319 | incfsz wait2,f
|
320 | goto wait4set
|
321 |
|
322 |
|
323 | chk4set
|
324 |
|
325 | btfss SW1
|
326 | goto chk4set
|
327 |
|
328 | return
|
329 |
|
330 | LCDoff
|
331 |
|
332 | ; Software-PWM Hintergrundbeleuchtung
|
333 |
|
334 | movf counter0,w
|
335 | bsf STATUS,C
|
336 | bcf STATUS,Z
|
337 | subwf counterp,w
|
338 | btfsc STATUS,Z
|
339 | bcf BL
|
340 | btfss STATUS,C
|
341 | bcf BL
|
342 | bcf STATUS,C
|
343 | incf counterp,f
|
344 | btfsc STATUS,C
|
345 | bsf BL
|
346 | btfss SW2
|
347 | call incPWM
|
348 |
|
349 | ; OFF-Tasterabfrage
|
350 |
|
351 | btfsc PIR1,3
|
352 | bcf DC
|
353 | btfsc PIR1,3
|
354 | bsf SCE
|
355 | btfsc SW1
|
356 | goto LCDoff
|
357 | call wait4set
|
358 | bcf SCE
|
359 | bsf DC
|
360 | bcf BL
|
361 | clrf bytecount
|
362 |
|
363 | powerdown
|
364 |
|
365 | btfss PIR1,3
|
366 | goto powerdown
|
367 | bcf PIR1,3
|
368 | movlw 0x00
|
369 | movwf SSPBUF
|
370 | incf bytecount,f
|
371 | movf bytecount,w
|
372 | clrf STATUS
|
373 | sublw D'252'
|
374 | btfss STATUS,Z
|
375 | goto powerdown
|
376 |
|
377 | clrf bytecount
|
378 |
|
379 | powerdown2
|
380 |
|
381 | btfss PIR1,3
|
382 | goto powerdown2
|
383 | bcf PIR1,3
|
384 | movlw 0x00
|
385 | movwf SSPBUF
|
386 | incf bytecount,f
|
387 | movf bytecount,w
|
388 | clrf STATUS
|
389 | sublw D'252'
|
390 | btfss STATUS,Z
|
391 | goto powerdown2
|
392 |
|
393 | bcf DC
|
394 | clrf bytecount
|
395 |
|
396 | sendPD
|
397 |
|
398 | btfss PIR1,3
|
399 | goto sendPD
|
400 | bcf PIR1,3
|
401 | movlw B'00100100'
|
402 | movwf SSPBUF
|
403 |
|
404 | wakeup
|
405 |
|
406 | btfsc SW1
|
407 | goto wakeup
|
408 | call wait4set
|
409 |
|
410 |
|
411 |
|
412 | wakeupbyte
|
413 |
|
414 | btfss PIR1,3
|
415 | goto wakeupbyte
|
416 | movlw 0x20
|
417 | movwf SSPBUF
|
418 |
|
419 | goto LCDon
|
420 |
|
421 |
|
422 | incPWM
|
423 |
|
424 | clrf STATUS
|
425 | incf timercache,f
|
426 | btfsc STATUS,C
|
427 | incf timer,f
|
428 | movf timer,w
|
429 | clrf STATUS
|
430 | sublw D'27'
|
431 | btfsc STATUS,Z
|
432 | incf counter0,f
|
433 |
|
434 | return
|
435 |
|
436 | SendT1
|
437 |
|
438 | BANKSEL SSPSTAT
|
439 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
440 | goto SendT1 ; if not, check again
|
441 | BANKSEL SSPBUF ; BANK0
|
442 | movf SSPBUF,W ; Get Data from SSPBUF
|
443 | ; ; Throw it away
|
444 | bsf DC
|
445 | movlw HIGH Logo1T1
|
446 | movwf PCLATH
|
447 | movf bytecount,w
|
448 | call Logo1T1
|
449 | movwf SSPBUF
|
450 | incf bytecount,f
|
451 | bcf STATUS,Z
|
452 | movlw D'252'
|
453 | subwf bytecount,w
|
454 | btfss STATUS,Z
|
455 |
|
456 | goto SendT1
|
457 | clrf bytecount
|
458 |
|
459 | SendT2
|
460 |
|
461 | BANKSEL SSPSTAT
|
462 | btfss SSPSTAT,BF ; Data transfer complete? (Buffer Full?)
|
463 | goto config2 ; if not, check again
|
464 | BANKSEL SSPBUF ; BANK0
|
465 | movf SSPBUF,W ; Get Data from SSPBUF
|
466 | ; ; Throw it away
|
467 | bsf DC
|
468 | movlw HIGH Logo1T2
|
469 | movwf PCLATH
|
470 | movf bytecount,w
|
471 | call Logo1T2
|
472 | movwf SSPBUF
|
473 | incf bytecount,f
|
474 | bcf STATUS,Z
|
475 | movlw D'252'
|
476 | subwf bytecount,w
|
477 | btfss STATUS,Z
|
478 |
|
479 | goto SendT2
|
480 |
|
481 | goto LCDoff
|
482 |
|
483 |
|
484 | ;*************** Testtabellen
|
485 |
|
486 |
|
487 | org 0x200
|
488 |
|
489 | Logo1T1
|
490 |
|
491 | addwf PCL,1
|
492 | retlw 0xFF ; Byte1
|
493 | retlw 0xFF ; Byte2
|
494 | retlw 0xFF ; Byte3
|
495 | retlw 0xDF ; Byte4
|
496 | retlw 0x8F ; Byte5
|
497 | retlw 0x07 ; Byte6
|
498 | retlw 0x07 ; Byte7
|
499 | retlw 0x07 ; Byte8
|
500 | retlw 0x07 ; Byte9
|
501 | retlw 0x07 ; Byte10
|
502 | retlw 0x07 ; Byte11
|
503 | retlw 0x07 ; Byte12
|
504 | retlw 0x07 ; Byte13
|
505 | retlw 0x07 ; Byte14
|
506 | retlw 0x07 ; Byte15
|
507 | retlw 0x07 ; Byte16
|
508 | retlw 0x07 ; Byte17
|
509 | retlw 0x07 ; Byte18
|
510 | retlw 0x07 ; Byte19
|
511 | retlw 0x07 ; Byte20
|
512 | retlw 0x07 ; Byte21
|
513 | retlw 0x07 ; Byte22
|
514 | retlw 0x07 ; Byte23
|
515 | retlw 0x07 ; Byte24
|
516 | retlw 0x07 ; Byte25
|
517 | retlw 0x07 ; Byte26
|
518 | retlw 0x07 ; Byte27
|
519 | retlw 0x07 ; Byte28
|
520 | retlw 0x07 ; Byte29
|
521 | retlw 0x07 ; Byte30
|
522 | retlw 0x07 ; Byte31
|
523 | retlw 0x07 ; Byte32
|
524 | retlw 0x07 ; Byte33
|
525 | retlw 0x07 ; Byte34
|
526 | retlw 0x07 ; Byte35
|
527 | retlw 0x07 ; Byte36
|
528 | retlw 0x07 ; Byte37
|
529 | retlw 0x07 ; Byte38
|
530 | retlw 0x07 ; Byte39
|
531 | retlw 0x07 ; Byte40
|
532 | retlw 0x8F ; Byte41
|
533 | retlw 0xDF ; Byte42
|
534 | retlw 0xFF ; Byte43
|
535 | retlw 0xFF ; Byte44
|
536 | retlw 0xFF ; Byte45
|
537 | retlw 0xFF ; Byte46
|
538 | retlw 0xFF ; Byte47
|
539 | retlw 0xFF ; Byte48
|
540 | retlw 0xFF ; Byte49
|
541 | retlw 0xFF ; Byte50
|
542 | retlw 0xFF ; Byte51
|
543 | retlw 0xFF ; Byte52
|
544 | retlw 0xFF ; Byte53
|
545 | retlw 0xFF ; Byte54
|
546 | retlw 0xFF ; Byte55
|
547 | retlw 0xFF ; Byte56
|
548 | retlw 0xFF ; Byte57
|
549 | retlw 0xFF ; Byte58
|
550 | retlw 0xFF ; Byte59
|
551 | retlw 0xFF ; Byte60
|
552 | retlw 0xFF ; Byte61
|
553 | retlw 0xFF ; Byte62
|
554 | retlw 0xFF ; Byte63
|
555 | retlw 0xFF ; Byte64
|
556 | retlw 0xFF ; Byte65
|
557 | retlw 0xFF ; Byte66
|
558 | retlw 0xFF ; Byte67
|
559 | retlw 0xFF ; Byte68
|
560 | retlw 0xFF ; Byte69
|
561 | retlw 0xFF ; Byte70
|
562 | retlw 0xFF ; Byte71
|
563 | retlw 0xFF ; Byte72
|
564 | retlw 0xFF ; Byte73
|
565 | retlw 0xFF ; Byte74
|
566 | retlw 0xFF ; Byte75
|
567 | retlw 0xFF ; Byte76
|
568 | retlw 0xFF ; Byte77
|
569 | retlw 0xFF ; Byte78
|
570 | retlw 0xFF ; Byte79
|
571 | retlw 0xFF ; Byte80
|
572 | retlw 0xFF ; Byte81
|
573 | retlw 0xFF ; Byte82
|
574 | retlw 0xFF ; Byte83
|
575 | retlw 0xFF ; Byte84
|
576 | retlw 0xFF ; Byte85
|
577 | retlw 0xFF ; Byte86
|
578 | retlw 0xFF ; Byte87
|
579 | retlw 0xFF ; Byte88
|
580 | retlw 0xFF ; Byte89
|
581 | retlw 0xFF ; Byte90
|
582 | retlw 0xFF ; Byte91
|
583 | retlw 0xFF ; Byte92
|
584 | retlw 0xFF ; Byte93
|
585 | retlw 0xFF ; Byte94
|
586 | retlw 0x7F ; Byte95
|
587 | retlw 0x3F ; Byte96
|
588 | retlw 0x1F ; Byte97
|
589 | retlw 0x0F ; Byte98
|
590 | retlw 0x07 ; Byte99
|
591 | retlw 0x03 ; Byte100
|
592 | retlw 0x01 ; Byte101
|
593 | retlw 0x00 ; Byte102
|
594 | retlw 0x00 ; Byte103
|
595 | retlw 0x00 ; Byte104
|
596 | retlw 0x00 ; Byte105
|
597 | retlw 0x00 ; Byte106
|
598 | retlw 0x80 ; Byte107
|
599 | retlw 0xC0 ; Byte108
|
600 | retlw 0xE0 ; Byte109
|
601 | retlw 0xF0 ; Byte110
|
602 | retlw 0xF8 ; Byte111
|
603 | retlw 0xFC ; Byte112
|
604 | retlw 0xFE ; Byte113
|
605 | retlw 0xFF ; Byte114
|
606 | retlw 0xFF ; Byte115
|
607 | retlw 0xFF ; Byte116
|
608 | retlw 0xFF ; Byte117
|
609 | retlw 0xFF ; Byte118
|
610 | retlw 0xFF ; Byte119
|
611 | retlw 0xFF ; Byte120
|
612 | retlw 0xFF ; Byte121
|
613 | retlw 0xFF ; Byte122
|
614 | retlw 0xFF ; Byte123
|
615 | retlw 0xFF ; Byte124
|
616 | retlw 0xFF ; Byte125
|
617 | retlw 0xFF ; Byte126
|
618 | retlw 0xFF ; Byte127
|
619 | retlw 0xFF ; Byte128
|
620 | retlw 0xFF ; Byte129
|
621 | retlw 0xFF ; Byte130
|
622 | retlw 0xFF ; Byte131
|
623 | retlw 0xFF ; Byte132
|
624 | retlw 0xFF ; Byte133
|
625 | retlw 0xFF ; Byte134
|
626 | retlw 0xFF ; Byte135
|
627 | retlw 0xFF ; Byte136
|
628 | retlw 0xFF ; Byte137
|
629 | retlw 0xFF ; Byte138
|
630 | retlw 0xFF ; Byte139
|
631 | retlw 0xFF ; Byte140
|
632 | retlw 0xFF ; Byte141
|
633 | retlw 0xFF ; Byte142
|
634 | retlw 0xFF ; Byte143
|
635 | retlw 0xFF ; Byte144
|
636 | retlw 0xFF ; Byte145
|
637 | retlw 0xFF ; Byte146
|
638 | retlw 0xFF ; Byte147
|
639 | retlw 0xFF ; Byte148
|
640 | retlw 0xFF ; Byte149
|
641 | retlw 0xFF ; Byte150
|
642 | retlw 0xFF ; Byte151
|
643 | retlw 0xFF ; Byte152
|
644 | retlw 0xFF ; Byte153
|
645 | retlw 0xFF ; Byte154
|
646 | retlw 0xFF ; Byte155
|
647 | retlw 0xFF ; Byte156
|
648 | retlw 0xFF ; Byte157
|
649 | retlw 0xFF ; Byte158
|
650 | retlw 0xFF ; Byte159
|
651 | retlw 0xFF ; Byte160
|
652 | retlw 0xFF ; Byte161
|
653 | retlw 0xFF ; Byte162
|
654 | retlw 0xFF ; Byte163
|
655 | retlw 0xFF ; Byte164
|
656 | retlw 0xFF ; Byte165
|
657 | retlw 0xFF ; Byte166
|
658 | retlw 0xFF ; Byte167
|
659 | retlw 0xFF ; Byte168
|
660 | retlw 0xFF ; Byte169
|
661 | retlw 0xFF ; Byte170
|
662 | retlw 0xFF ; Byte171
|
663 | retlw 0xFF ; Byte172
|
664 | retlw 0xFF ; Byte173
|
665 | retlw 0xFF ; Byte174
|
666 | retlw 0xFF ; Byte175
|
667 | retlw 0xFB ; Byte176
|
668 | retlw 0xF9 ; Byte177
|
669 | retlw 0xF8 ; Byte178
|
670 | retlw 0xF8 ; Byte179
|
671 | retlw 0x78 ; Byte180
|
672 | retlw 0x38 ; Byte181
|
673 | retlw 0x18 ; Byte182
|
674 | retlw 0x08 ; Byte183
|
675 | retlw 0x00 ; Byte184
|
676 | retlw 0x00 ; Byte185
|
677 | retlw 0x00 ; Byte186
|
678 | retlw 0x00 ; Byte187
|
679 | retlw 0x00 ; Byte188
|
680 | retlw 0x80 ; Byte189
|
681 | retlw 0xC0 ; Byte190
|
682 | retlw 0xE0 ; Byte191
|
683 | retlw 0xF0 ; Byte192
|
684 | retlw 0xF8 ; Byte193
|
685 | retlw 0xFC ; Byte194
|
686 | retlw 0xFE ; Byte195
|
687 | retlw 0xFF ; Byte196
|
688 | retlw 0xFF ; Byte197
|
689 | retlw 0xFF ; Byte198
|
690 | retlw 0xFF ; Byte199
|
691 | retlw 0xFF ; Byte200
|
692 | retlw 0xFF ; Byte201
|
693 | retlw 0xFF ; Byte202
|
694 | retlw 0xFF ; Byte203
|
695 | retlw 0xFF ; Byte204
|
696 | retlw 0xFF ; Byte205
|
697 | retlw 0xFF ; Byte206
|
698 | retlw 0xFF ; Byte207
|
699 | retlw 0xFF ; Byte208
|
700 | retlw 0xFF ; Byte209
|
701 | retlw 0xFF ; Byte210
|
702 | retlw 0xFF ; Byte211
|
703 | retlw 0xFF ; Byte212
|
704 | retlw 0xFF ; Byte213
|
705 | retlw 0xFF ; Byte214
|
706 | retlw 0xFF ; Byte215
|
707 | retlw 0xFF ; Byte216
|
708 | retlw 0xFF ; Byte217
|
709 | retlw 0xFF ; Byte218
|
710 | retlw 0xFF ; Byte219
|
711 | retlw 0xFF ; Byte220
|
712 | retlw 0xFF ; Byte221
|
713 | retlw 0xFF ; Byte222
|
714 | retlw 0xFF ; Byte223
|
715 | retlw 0xFF ; Byte224
|
716 | retlw 0xFF ; Byte225
|
717 | retlw 0xFF ; Byte226
|
718 | retlw 0xFF ; Byte227
|
719 | retlw 0xFF ; Byte228
|
720 | retlw 0xFF ; Byte229
|
721 | retlw 0xFF ; Byte230
|
722 | retlw 0xFF ; Byte231
|
723 | retlw 0xFF ; Byte232
|
724 | retlw 0xFF ; Byte233
|
725 | retlw 0xFF ; Byte234
|
726 | retlw 0xFF ; Byte235
|
727 | retlw 0xFF ; Byte236
|
728 | retlw 0xFF ; Byte237
|
729 | retlw 0xFF ; Byte238
|
730 | retlw 0xFF ; Byte239
|
731 | retlw 0xFF ; Byte240
|
732 | retlw 0xFF ; Byte241
|
733 | retlw 0xFF ; Byte242
|
734 | retlw 0xFF ; Byte243
|
735 | retlw 0xFF ; Byte244
|
736 | retlw 0xFF ; Byte245
|
737 | retlw 0xFF ; Byte246
|
738 | retlw 0xFF ; Byte247
|
739 | retlw 0xFF ; Byte248
|
740 | retlw 0xFF ; Byte249
|
741 | retlw 0xFF ; Byte250
|
742 | retlw 0xFF ; Byte251
|
743 | retlw 0xFF ; Byte252
|
744 |
|
745 |
|
746 |
|
747 |
|
748 | org 0x500
|
749 |
|
750 | Logo1T2
|
751 |
|
752 | addwf PCL,1
|
753 | retlw 0xFF ; Byte253
|
754 | retlw 0xFF ; Byte254
|
755 | retlw 0xFF ; Byte255
|
756 | retlw 0xFF ; Byte256
|
757 | retlw 0xFF ; Byte257
|
758 | retlw 0xDF ; Byte258
|
759 | retlw 0xCF ; Byte259
|
760 | retlw 0xC7 ; Byte260
|
761 | retlw 0xC3 ; Byte261
|
762 | retlw 0x41 ; Byte262
|
763 | retlw 0x00 ; Byte263
|
764 | retlw 0x00 ; Byte264
|
765 | retlw 0x00 ; Byte265
|
766 | retlw 0x00 ; Byte266
|
767 | retlw 0x00 ; Byte267
|
768 | retlw 0x00 ; Byte268
|
769 | retlw 0x00 ; Byte269
|
770 | retlw 0x00 ; Byte270
|
771 | retlw 0x82 ; Byte271
|
772 | retlw 0xC3 ; Byte272
|
773 | retlw 0x63 ; Byte273
|
774 | retlw 0x73 ; Byte274
|
775 | retlw 0x7B ; Byte275
|
776 | retlw 0x7F ; Byte276
|
777 | retlw 0xFF ; Byte277
|
778 | retlw 0xFF ; Byte278
|
779 | retlw 0xFF ; Byte279
|
780 | retlw 0xFF ; Byte280
|
781 | retlw 0x7F ; Byte281
|
782 | retlw 0x7F ; Byte282
|
783 | retlw 0x7F ; Byte283
|
784 | retlw 0x7F ; Byte284
|
785 | retlw 0xFF ; Byte285
|
786 | retlw 0xFF ; Byte286
|
787 | retlw 0xFF ; Byte287
|
788 | retlw 0xFF ; Byte288
|
789 | retlw 0xFF ; Byte289
|
790 | retlw 0x7F ; Byte290
|
791 | retlw 0x3F ; Byte291
|
792 | retlw 0x3F ; Byte292
|
793 | retlw 0x3F ; Byte293
|
794 | retlw 0xFF ; Byte294
|
795 | retlw 0xFF ; Byte295
|
796 | retlw 0xFF ; Byte296
|
797 | retlw 0xFF ; Byte297
|
798 | retlw 0xFF ; Byte298
|
799 | retlw 0xFF ; Byte299
|
800 | retlw 0xFF ; Byte300
|
801 | retlw 0xFF ; Byte301
|
802 | retlw 0x7F ; Byte302
|
803 | retlw 0x7F ; Byte303
|
804 | retlw 0xFF ; Byte304
|
805 | retlw 0xFF ; Byte305
|
806 | retlw 0xFF ; Byte306
|
807 | retlw 0xFF ; Byte307
|
808 | retlw 0xFF ; Byte308
|
809 | retlw 0xFF ; Byte309
|
810 | retlw 0xFF ; Byte310
|
811 | retlw 0xFF ; Byte311
|
812 | retlw 0x7F ; Byte312
|
813 | retlw 0x3F ; Byte313
|
814 | retlw 0x1F ; Byte314
|
815 | retlw 0x0F ; Byte315
|
816 | retlw 0x0F ; Byte316
|
817 | retlw 0x0F ; Byte317
|
818 | retlw 0xCF ; Byte318
|
819 | retlw 0xFF ; Byte319
|
820 | retlw 0xFF ; Byte320
|
821 | retlw 0xFF ; Byte321
|
822 | retlw 0xDF ; Byte322
|
823 | retlw 0x8F ; Byte323
|
824 | retlw 0x8F ; Byte324
|
825 | retlw 0x8F ; Byte325
|
826 | retlw 0x9F ; Byte326
|
827 | retlw 0x9F ; Byte327
|
828 | retlw 0x9F ; Byte328
|
829 | retlw 0x9F ; Byte329
|
830 | retlw 0x1F ; Byte330
|
831 | retlw 0x1F ; Byte331
|
832 | retlw 0x1F ; Byte332
|
833 | retlw 0x1F ; Byte333
|
834 | retlw 0x9F ; Byte334
|
835 | retlw 0xDF ; Byte335
|
836 | retlw 0xFF ; Byte336
|
837 | retlw 0xFF ; Byte337
|
838 | retlw 0xFF ; Byte338
|
839 | retlw 0xFF ; Byte339
|
840 | retlw 0xFF ; Byte340
|
841 | retlw 0xFF ; Byte341
|
842 | retlw 0x3F ; Byte342
|
843 | retlw 0x1F ; Byte343
|
844 | retlw 0x07 ; Byte344
|
845 | retlw 0x01 ; Byte345
|
846 | retlw 0x00 ; Byte346
|
847 | retlw 0x80 ; Byte347
|
848 | retlw 0xC0 ; Byte348
|
849 | retlw 0xE0 ; Byte349
|
850 | retlw 0xF0 ; Byte350
|
851 | retlw 0xF8 ; Byte351
|
852 | retlw 0xFC ; Byte352
|
853 | retlw 0xFE ; Byte353
|
854 | retlw 0xFF ; Byte354
|
855 | retlw 0x7F ; Byte355
|
856 | retlw 0x0F ; Byte356
|
857 | retlw 0x01 ; Byte357
|
858 | retlw 0xC0 ; Byte358
|
859 | retlw 0xCC ; Byte359
|
860 | retlw 0xCF ; Byte360
|
861 | retlw 0xCF ; Byte361
|
862 | retlw 0xCF ; Byte362
|
863 | retlw 0x0F ; Byte363
|
864 | retlw 0x0F ; Byte364
|
865 | retlw 0x81 ; Byte365
|
866 | retlw 0xC0 ; Byte366
|
867 | retlw 0xEC ; Byte367
|
868 | retlw 0x9F ; Byte368
|
869 | retlw 0x07 ; Byte369
|
870 | retlw 0x07 ; Byte370
|
871 | retlw 0xE3 ; Byte371
|
872 | retlw 0xF1 ; Byte372
|
873 | retlw 0xF8 ; Byte373
|
874 | retlw 0xFC ; Byte374
|
875 | retlw 0xFE ; Byte375
|
876 | retlw 0xFE ; Byte376
|
877 | retlw 0x7C ; Byte377
|
878 | retlw 0x38 ; Byte378
|
879 | retlw 0x01 ; Byte379
|
880 | retlw 0x83 ; Byte380
|
881 | retlw 0xC7 ; Byte381
|
882 | retlw 0xFF ; Byte382
|
883 | retlw 0x03 ; Byte383
|
884 | retlw 0x01 ; Byte384
|
885 | retlw 0x80 ; Byte385
|
886 | retlw 0x0C ; Byte386
|
887 | retlw 0x0C ; Byte387
|
888 | retlw 0xC0 ; Byte388
|
889 | retlw 0xE0 ; Byte389
|
890 | retlw 0xF1 ; Byte390
|
891 | retlw 0xFB ; Byte391
|
892 | retlw 0xFF ; Byte392
|
893 | retlw 0xFF ; Byte393
|
894 | retlw 0xF9 ; Byte394
|
895 | retlw 0xF8 ; Byte395
|
896 | retlw 0x7C ; Byte396
|
897 | retlw 0x1E ; Byte397
|
898 | retlw 0x03 ; Byte398
|
899 | retlw 0xC0 ; Byte399
|
900 | retlw 0xF0 ; Byte400
|
901 | retlw 0xFE ; Byte401
|
902 | retlw 0xFF ; Byte402
|
903 | retlw 0xFF ; Byte403
|
904 | retlw 0xFF ; Byte404
|
905 | retlw 0xFF ; Byte405
|
906 | retlw 0x7F ; Byte406
|
907 | retlw 0x3F ; Byte407
|
908 | retlw 0x0F ; Byte408
|
909 | retlw 0x07 ; Byte409
|
910 | retlw 0x87 ; Byte410
|
911 | retlw 0xC3 ; Byte411
|
912 | retlw 0xE1 ; Byte412
|
913 | retlw 0xF0 ; Byte413
|
914 | retlw 0xF8 ; Byte414
|
915 | retlw 0xFC ; Byte415
|
916 | retlw 0xFE ; Byte416
|
917 | retlw 0xFF ; Byte417
|
918 | retlw 0xFF ; Byte418
|
919 | retlw 0xFF ; Byte419
|
920 | retlw 0xFF ; Byte420
|
921 | retlw 0xFF ; Byte421
|
922 | retlw 0xBF ; Byte422
|
923 | retlw 0xCF ; Byte423
|
924 | retlw 0xC3 ; Byte424
|
925 | retlw 0xE0 ; Byte425
|
926 | retlw 0xF0 ; Byte426
|
927 | retlw 0xF8 ; Byte427
|
928 | retlw 0xFC ; Byte428
|
929 | retlw 0xFE ; Byte429
|
930 | retlw 0xFF ; Byte430
|
931 | retlw 0xFF ; Byte431
|
932 | retlw 0xFF ; Byte432
|
933 | retlw 0xFF ; Byte433
|
934 | retlw 0xFF ; Byte434
|
935 | retlw 0xFF ; Byte435
|
936 | retlw 0xFF ; Byte436
|
937 | retlw 0xEF ; Byte437
|
938 | retlw 0xE3 ; Byte438
|
939 | retlw 0xE0 ; Byte439
|
940 | retlw 0xE8 ; Byte440
|
941 | retlw 0xFF ; Byte441
|
942 | retlw 0xFF ; Byte442
|
943 | retlw 0xFF ; Byte443
|
944 | retlw 0xFF ; Byte444
|
945 | retlw 0xEF ; Byte445
|
946 | retlw 0xE3 ; Byte446
|
947 | retlw 0xE0 ; Byte447
|
948 | retlw 0xE8 ; Byte448
|
949 | retlw 0xFF ; Byte449
|
950 | retlw 0xFF ; Byte450
|
951 | retlw 0xFF ; Byte451
|
952 | retlw 0xFF ; Byte452
|
953 | retlw 0xFE ; Byte453
|
954 | retlw 0xF8 ; Byte454
|
955 | retlw 0xF0 ; Byte455
|
956 | retlw 0xF1 ; Byte456
|
957 | retlw 0xF1 ; Byte457
|
958 | retlw 0xF1 ; Byte458
|
959 | retlw 0xF9 ; Byte459
|
960 | retlw 0xF8 ; Byte460
|
961 | retlw 0xFC ; Byte461
|
962 | retlw 0xFE ; Byte462
|
963 | retlw 0xFF ; Byte463
|
964 | retlw 0xFF ; Byte464
|
965 | retlw 0xFF ; Byte465
|
966 | retlw 0xF7 ; Byte466
|
967 | retlw 0xF0 ; Byte467
|
968 | retlw 0xF0 ; Byte468
|
969 | retlw 0xF7 ; Byte469
|
970 | retlw 0xFF ; Byte470
|
971 | retlw 0xFC ; Byte471
|
972 | retlw 0xF8 ; Byte472
|
973 | retlw 0xF1 ; Byte473
|
974 | retlw 0xF3 ; Byte474
|
975 | retlw 0xFF ; Byte475
|
976 | retlw 0xFF ; Byte476
|
977 | retlw 0xEF ; Byte477
|
978 | retlw 0xE7 ; Byte478
|
979 | retlw 0xE1 ; Byte479
|
980 | retlw 0xE0 ; Byte480
|
981 | retlw 0xE0 ; Byte481
|
982 | retlw 0xE6 ; Byte482
|
983 | retlw 0xEF ; Byte483
|
984 | retlw 0xFF ; Byte484
|
985 | retlw 0xEF ; Byte485
|
986 | retlw 0xE7 ; Byte486
|
987 | retlw 0xE3 ; Byte487
|
988 | retlw 0xE1 ; Byte488
|
989 | retlw 0xE0 ; Byte489
|
990 | retlw 0xE8 ; Byte490
|
991 | retlw 0xFC ; Byte491
|
992 | retlw 0xFE ; Byte492
|
993 | retlw 0xFF ; Byte493
|
994 | retlw 0xFF ; Byte494
|
995 | retlw 0xFF ; Byte495
|
996 | retlw 0xFF ; Byte496
|
997 | retlw 0xFF ; Byte497
|
998 | retlw 0xFF ; Byte498
|
999 | retlw 0xFF ; Byte499
|
1000 | retlw 0xFF ; Byte500
|
1001 | retlw 0xFF ; Byte501
|
1002 | retlw 0xFF ; Byte502
|
1003 | retlw 0xFF ; Byte503
|
1004 | retlw 0xFF ; Byte504
|
1005 |
|
1006 |
|
1007 |
|
1008 |
|
1009 |
|
1010 |
|
1011 | END ; directive 'end of program'
|