Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ATmela LAT naredba

[es] :: Elektronika :: Mikrokontroleri :: ATmela LAT naredba

[ Pregleda: 1987 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon ATmela LAT naredba31.10.2010. u 13:40 - pre 163 meseci
Naisao sam na neobican (barem meni) algoritam za korenovanje u AVR studiju. Rastumacio sam ga, ali mi nije jasno sta se postize naredbom:

LAT R26

posle nje R26 ima vrednost 0x00 ili 0xFF, a ja ne znam kako, iako sam video opis te naredbe nista mi nije pomoglo.

Zamolio bih nekog ako zna da mi rastumaci ovu naredbu.

Unapred hvala,

Pozdrav.
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: ATmela LAT naredba31.10.2010. u 18:14 - pre 163 meseci
Kod mene u datasheet-u stoji da je sintaksa:

LAT Z, Rd

pri cemu je:

Z - Zero Flag
Rd - neki registar

Moguce je da "kompajler" podrazumjeva ono Z, pa ga nije potrebno navoditi kao operand naredbe.

E sad, kaze se dalje da operacija radi sledece:

(Z) <- Rd XOR (Z);
Rd <- (Z);

Rd ce nakon ove operacije postati 0xFF ako je:

1) rezultat prethodne operacije nula (Z==1) i Rd == 0
2) rezultat prethodne operacije nije nula (Z==0) i Rd != 0

U ostalim slucajevima ce biti 0x00.

Cemu to sluzi nemam pojma :)
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: ATmela LAT naredba31.10.2010. u 22:17 - pre 163 meseci
Bunilo me je to sto je napisano (Z) pa sam mislio da se radi o Z indeksnom registru, mada sam pomisljao i na statusni bit. Pogledao sam na sta ukazuje Z (R30 i R31) i video da nema veze sa tim.

Bice da si u pravu, jer se na tom mestu odredjuje prosirenje bajta sobzirom na znak.

Hvala ti, a ako neko ima neko drugo misljenje, ili potvrdu ovog neka napise bice korisno.

Pozdrav.
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: ATmela LAT naredba01.11.2010. u 22:42 - pre 163 meseci

Ipak je Z indeksni registar. Vratio sam se na pocetak, opet nista ne znam.

AVR studio je uz LAT R26 dao kod 0x95A0 sto se ne slaze sa dokumentacijom, vec taj kod predstavlja naredbu komplementiranja vrednosti registra R26.

Probe sam radio za ATmega128, ali kada sam promenio tip MCU-a, i uzeo onaj koji nema LAT naredbu, prevod je bio isti?????

Sta je pisac (kompajlera) hteo da kaze?
Da li neko zna?

Pozdrav.
 
Odgovor na temu

mradomir
mradomir
Novi Sad

Član broj: 123964
Poruke: 169
82.117.202.*



+28 Profil

icon Re: ATmela LAT naredba02.11.2010. u 15:07 - pre 163 meseci
Citat:

Probe sam radio za ATmega128, ali kada sam promenio tip MCU-a, i uzeo onaj koji nema LAT naredbu, prevod je bio isti?????


Ovo je greška u disasembleru, dosta njih je primetilo isti problem.
Inače LAT radi XOR između registra i indirektno adresirane memorijske lokacije (Z).
Rezultat se smešta u (Z) - indirektno adresiranu lokaciju, a staro stanje iste se
prebacuje u registar, uf.
Pretpostavljam da su uočili kako mogu optimizovati C kod ovom komandom, e sad u kom slučaju...

 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: ATmela LAT naredba02.11.2010. u 20:02 - pre 163 meseci
Ocigledno je da je neka greska u disasembleru, ali koja.

Mislim da je greska LAT 26 i da treba da stoji COMP R26 jer kod naredbe odgovara komplementiranju vrednosti R26. To potvrdje i prolaz korak po korak kroz tu naredbu jer se uvek desi komplementiranje R26, a ne menja se lokacija na koju ukazuje Z.

Da li se slazes?

Pozdrav.
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8370 Profil

icon Re: ATmela LAT naredba02.11.2010. u 20:16 - pre 163 meseci
Ja se izvinjavam za unesenu zabludu, nisam namjerno. Kod mene u nomenklaturi za asembler pise da je Z zero flag.

Zato i slabo varim asembler. Covjek se tu vise bavi alatom nego zanatom...
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.dynamic.sbb.rs.



+7 Profil

icon Re: ATmela LAT naredba02.11.2010. u 23:00 - pre 163 meseci
Ma nema veze, ja sam verovatno najvise bio u nedoumici jer nisam radio uzivo sa AVR-om.

Medjutim, AVR studio ima vrlo interesantan sqrt algoritam koji se izvrsava duplo brze od deljenja a cetri puta brze od mnozenja. To mi je bilo neverovatno, pa sam uzeo da ga rastumacim. Takodje me je iznenadilo da ocigledno algoritam za mnozenje ne koristi postojece asemblerske naredbe mnozenja, inace bi mnozenje bilo brze od deljenja. Ovo neprijatno iznenadjenje je ipak manje od prijatnog iznenadjenja sqrt algoritmom. U celini AVR studijo ima odlican kompajler.

Pozdrav.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: ATmela LAT naredba

[ Pregleda: 1987 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.