PIC 512-elemes tablazat help!

Kis Norbert norbi at kzs.hu
Tue Oct 19 18:33:56 CEST 1999


Sziasztok.

Meg mindig a forgo kijelzom progijaval szivok, de mar vagy negyedik napja, s
belefaradtam.
A kovetkezo a gond:
Adott egy 512-elemes (64*8) karaktertabla. Szepen, RETW-vel, ugy ahogy
illik.
Azonban termeszetesen 256 elemnel tobbet nem tud az a dog cimezni, igy
szetszedtem eloszor ket, majd kinomban mar negy egyenlo reszre. (256, majd
128-bajtos hossz.)
Adott egy regiszter, nevezzuk CHR-nek. Ebben jon a cim (0...15). (Ezt 3-al
elrotaltam balra, hogy az oszlopcim 3-bitje ideferjen. Ezutan AND-al
kimaszkoltam a negy biten kivul mindent nullara. Ezutan a karaktertabla
rutint 8-szor meghivom, egyesevel novekvo CHR-ertekekkel.)
Adott egy masik regiszter (sv2), ebben pedig a negy negyed cime. (0...3)
A rutin elejen van egy kis resz, ami kivalasztja, hogy melyik 16*8-as
negyednek szolt a cim, es CALL-al meghivja azt a tablazatot. Papiron szepen
mukodik minden. A gyakorlatban meg szivok vele, mint a szoposmalac... :-(((

Az elso huszonpar elemet tokeletesen kijelzi, azutan a kovetkezo karaktert
roviditi, majd azt azt kovetot kijelezve kihal a program. (Tehat
egyertelmuen valami visszateresi lehet...)

Egyszoval valami veremhibara gyanakszom. Remlik is valami, hogy a PCLATH-is
belekavar a cimzesbe, igy 
nem art ovatosnak lenni ezzel. Viszont megoldast egyetlen peldaban se
talaltam erre a problemara!

Talalkozott valamelyikotok mar ezzel? Ha igen, segitsetek, mit kell tennem. 
A dolog annal inkabb erdekes lehet, mert ekkora tablazat nemcsak
karaktergeneralashoz kell, hanem sok egyeb dologra is jol johet. (Pl.
linearizalas, hullamformak, belepteto azonositok tarolasa, stb...)
Egyszoval mast is erdekelhet!

Koszi elore is!
Udvozlettel:
		Norbi.
Ui:
Ime a tablazatot kezelo progi egy resze, ebbol lathato a gond: (A hivo progi
biztos jo, fix ertekekkel szimulalva is ugyanugy nem megy...)

;***************************************************************************
***
;*  Karaktertablazat kezelo - 'chr'-b"l 'oszlop'-ba teszi a cimhez tartozot.
*
;***************************************************************************
***
C_TBL1                       ; Kulonleges, nyujtott hozz feresu tablazat...
        cjne sv2,#0,C_TBL2   ; Ha nem az elso negyed, akkor ugrik a
kovetkezore
        mov w,chr
        call CHAR_1
        not w
        mov oszlop,w
        ret

C_TBL2  cjne sv2,#1,C_TBL3
        mov w,chr
        call CHAR_2
        not w
        mov oszlop,w
        ret

C_TBL3  cjne sv2,#2,C_TBL4
        mov w,chr
        call CHAR_3
        not w
        mov oszlop,w
        ret

C_TBL4  cjne sv2,#3,T_HIBA
        mov w,chr
        call CHAR_4
        not w
        mov oszlop,w
        ret

T_HIBA
        mov w,#0
        ret

;*********************** Karakter t bl zatok...
******************************
CHAR_1         ADDWF PCL,1
               RETW     0,0,0,0,0,0,0,0                  ;00 Space
               RETW     124,126,19,19,126,124,0,0        ;01 A
               RETW     65,127,127,73,73,127,54,0        ;02 B
               RETW     28,62,99,65,65,99,34,0           ;03 C
               RETW     65,127,127,65,99,62,28,0         ;04 D
......
S igy tovabb CHAR_2,3,4-el is...




More information about the Elektro mailing list