Atmel AVR programozas

VFX info at vfx.hu
Fri Dec 27 16:49:24 CET 2002


Hali!


> > Pontosan ezt csinalja! Kapsz egy rakat warningot! Ami hiba benne, hogy
> > az EEPROM teruletre is warningol, pedig ott nem kellene! De ettol meg
> > muxik.
> 
> Nem! Egy normalis fordito, pl amit emlitettem m68k assemblereket, csak
> siman warningolnak, de azt forditjak amit beirtal neki. A problema az,
> hogy a Studio hulye assemblere onkenyesen beszur egy 0-t, hogy a kovetkezo
> sor mar paros cimen, word hataron kezdodjon! Szerintem Istvannak is ez nem
> tetszik, nekem sem, ez bizony valoban sulyos hiba. A warning onmagaban
> nem lenne gond :)


Ezzel nem ertek egyet. Ha nem szurja be a nullat, akkor nem
warningolhat! hanem kapasbol error-t kell mondjon. Hiszen ekkor a
programod futaskeptelen lesz. A 0 beszurasaval es egyideju Warning!
uzenettel a program futaskepes marad es felhivja a figyelmet a
hianyossargra.


> > main.asm(86) : warning : A .db segment with an odd number of bytes is
> > detected.
> > A zero byte is added.
> 
> Na ez itt a problema. A zero byte agyonvagja a strukturat...

Valoban, de ezert van ott a WARNING. Hiszen a programozonak kell tudnia,
hogy wordben merurunk es nem byte-ban.

amugy ez konnyen kikuszobolheto, ha jo a struktura egy

adiw ZL,1
andi ZL,254 

utasitas parossal. Ha Z paratlan akkor adiw utan paros lesz, az and
hatastalan. Ha Z parosvolt, akkor az utasitasok utan is ugyan ott marad.
Az adiw utan paratlan, de az and torli a 0 .bitet es ujra paros lesz.
Pl.

		.db	"LCD",0,low(Tm_LCDBackLight),high(Tm_LCDBackLight)
		.db	"DSPCMD",0,0,low(Tm_DSPCmd),high(Tm_DSPCmd)


Lathato a DSPCMD szoveg utani ket nulla, itt all helyre a rend a
fentebbi modszerrel.



UDV. VFX.
http://www.vfx.hu




More information about the Elektro mailing list