PIC elado
Istvan Retaller
istvan.retaller at evoran.hu
Mon Apr 28 15:12:16 CEST 2003
2003.04.28. 14:26:58, Gal Zoltan <galzoli at hu.inter.net> wrote:
>Szia Istvan!
>Ketsegtelen, a 16 megsem egy. Viszont ha jol ertem, akkor abba a 16 (esetleg 32)
>regiszterbe igy is be kell tolteni az adatokat, muvelet vegzese utan pedig a RAM-ba
Szia, Galzoli!
Egy Moricka-pelda:
Negy portot olvasok be es az a+b*c-d fuggvenyt kell kiszamitanom.
Ez hany utasitas, mennyi ido PIC-ben?, Tetelezzuk fel,
hogy 8 bites a szorzas eredmenye, mert ha 16 bites, a PIC meg jobban
lemarad. AVR-re igy nez ki:
in rega,PORT_A
in regb,PORT_B
in regc,PORT_C
in regd,PORT_D
mul regb,regc
add rega,R0
add regd,rega
szoval 7 utasitas. PIC-ben megoldod harmincbol? Es az ido nagy
reszet azzal toltod, hogy az adatok ki-be ugralnak a PIC teljesen
felesleges akkumulatorabol.
Tobben elmondtak, probald mar egy kicsit megerteni, mennyire elavult
struktura akkumulatorral aritmetikazni, modern processzorbam ezt minden
regiszter tudja.
Szamold ossze, hogy egy programodbam hanyszor hasznalod a
movlw nn
movwf reg
utasitast. Eve ota nem PIC-ezek, de kb. 5% ilyen uresjarasokbol all.
Egy kisse egyszerubb az 1 orajelet hasznalo
ldi reg,nn
utasitas.
>nyomni. Szoval a mechanizmus ua. Plane igaz ez, ha 16-nal tobb adatot/cimet kell
>kezelnem akar mar egy-egy rutinban. Es miert ne lehetne ilyen alkalmazasom?
Itt megint az a baj, hogy nem is ismered, csak vitatod.
4 regiszterpar hasznalhato elbol 16 bites pointernek.
Vegyuk a
st Z+,R16 utasitast. Ez a Z regiszterpar altal mutatott cimre teszi
R16 erteket, majd Z-t eggyel noveli. Akkor is helyesen, ha Z pl.1fffh
volt, akkor 2000h lesz Z a kilepeskor. Es ez _egyetlen_ utasitas.
Ennek vannak testverei:
st -Z,R16 szinten _egyetlen_ utasitas, de _elobb_ csokkenti Z-t, majd
csak utana teszi le a regisztert.
A masik testver:
st Z,R16 csak siman letesz.
Ember, hol van ehhez a kenyelemhez a PIC? Es 4(!!!) ilyen regiszteparam van.
Es mindegyikhez regiszterpointert odebb ugrathatom:
Az
adiw ZL,22
22-vel tolja odebb az egesz pointerem es ha 1ff7h volt,
akkor a 2000h hatar atlepese sem erdekel, mert arra is mukodik minden
kulon intezkedes nelkul.
Tobben, tobbszor elmondtak ezeket. Ha nem veszed a faradsagot, hogy at-
bongeszd es megertsd az utasitaskeszletet, engem nem izgat. Tobben ra-
kerdeznek, miert jo, elmondom, hogy
- hatekonyabb
- gyorsabb
- olcsobb
Tudod, mi a kovetkezo kerdesuk?
Hol lehet PIC-et venni, mert a szomszed Lajcsika is azt hasznalja.
En meg vallat vonok.
Udv, RI
More information about the Elektro
mailing list