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