AT90S2313 czy jest odpowiednik "cpl"?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "AzaZeL" <AzaZeL_B_at_nospam_poczta.onet.pl>
Subject: AT90S2313 czy jest odpowiednik "cpl"?
Date: Mon, 10 Oct 2005 22:42:58 +0200


Witam

czy jest w 2313 odpowiednik 51'-wego rozkazu cpl (neguj bit) ?

bo szukam i znaleść niemoge

AzaZeL



Poprzedni Następny
Wiadomość
Spis treści
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Mon, 10 Oct 2005 22:53:58 +0200


AzaZeL przemówił ludzkim głosem:

czy jest w 2313 odpowiednik 51'-wego rozkazu cpl (neguj bit) ?

EOR :-)
A tak na serio, to nie ma bezpośredniego odpowiednika.

Poprzedni Następny
Wiadomość
Spis treści
From: "AzaZeL" <AzaZeL_B_at_nospam_poczta.onet.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Tue, 11 Oct 2005 08:21:33 +0200



EOR :-)
A tak na serio, to nie ma bezpośredniego odpowiednika.

tak mi sie właśnie wydawało :(

przyzwyczajenia z 51 sa bardzo silne :)

szkoda

AzaZeL



Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Tue, 11 Oct 2005 22:57:14 +0200


AzaZeL wrote:

EOR :-)
A tak na serio, to nie ma bezpośredniego odpowiednika.

tak mi sie właśnie wydawało :(

przyzwyczajenia z 51 sa bardzo silne :)

To i tak mały problem. W AVRach nie ma _w ogóle_ poprawki po dodawaniu
BCD (rozkaz DAA) ani przesyłania pojedynczego bitu. Do skopiowania bitu
z jednego rejestru do drugiego trzeba wykonać aż 4 rozkazy. :-& Ale za
to operacje na pamięci z predekrementacją lub postinkrementacją adresu
są fajowe. :-)

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: "T.M.F." <tfrancuz_at_nospam_nospam-mp.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Wed, 12 Oct 2005 14:21:59 +0200


To i tak mały problem. W AVRach nie ma _w ogóle_ poprawki po dodawaniu
BCD (rozkaz DAA) ani przesyłania pojedynczego bitu. Do skopiowania bitu
z jednego rejestru do drugiego trzeba wykonać aż 4 rozkazy. :-& Ale za
to operacje na pamięci z predekrementacją lub postinkrementacją adresu
są fajowe. :-)


to nic, mnie przeszkadza, ze nie ma rozkazow operujacych na komorkach
pamieci wskazywanych przez rejestr. I tak, zeby zwiekszyc o 1 zawartosc
komorki pamieci trzeba wykonac az 3 instrukcje. I na co mi 32 rejestry?
Wolalbym zeby tak jak w Z80 bylo np INC(HL), ADD costam,(HL) itd. A
gdyby jeszcze bylo to + indexy, cos w stylu ADD costam,(IX+d) to byloby
pieknie. A i kompilatory chyba mialyby z tego wiekszy pozytek.

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Fri, 14 Oct 2005 12:35:31 +0200


T.M.F. wrote:

Ale za to operacje na pamięci z predekrementacją lub postinkrementacją
adresu są fajowe. :-)

to nic, mnie przeszkadza, ze nie ma rozkazow operujacych na komorkach
pamieci wskazywanych przez rejestr. I tak, zeby zwiekszyc o 1 zawartosc
komorki pamieci trzeba wykonac az 3 instrukcje. I na co mi 32 rejestry?
Wolalbym zeby tak jak w Z80 bylo np INC(HL), ADD costam,(HL) itd. A
gdyby jeszcze bylo to + indexy, cos w stylu ADD costam,(IX+d) to byloby
pieknie. A i kompilatory chyba mialyby z tego wiekszy pozytek.

Bo to chyba przeczy zasadzie szybkiego działania procesora, gdzie
wszystkie rozkazy arytmetyczne operują na rejestrach a dostęp do pamięci
jest tylko poprzez proste rozkazy przesyłania. Przykładowo inkrementacja
przeprowadzana bezpośrednio na komórce pamięci wymagałaby pobrania kodu
rozkazu, pobrania wartości z pamięci, zwiększenia jej i zapisania
spowrotem. Zrobienie tego jednym rozkazem wymagałoby zużycia wielu cykli
zegara.

Inna sprawa to RISC (mówimy tu o AVR'ach) - dodanie wielu rozkazów
operujących na nowych trybach adresowania wygenerowałoby nowe
wielosłowowe instrukcje. A nikt tego nie lubi tak jak szybki dekoder
instrukcji. :( Innymi słowy: akceptuję "rozdmuchanie" kodu programu w
procesorach RISC jeżeli będzie wykonywany tak samo szybko lub szybciej
niż w CISC'ach rozróżniających setki rozkazów z dziesiątkami trybów
adresowania.

Spójrz na przykład na listę kodów rozkazów procesora ARM: cała mieści
się w jednej małej tabelce. Dochodzą oczywiście "opcje" w większości
rozkazów czyli tryby adresowania, numery rejestrów, wykonanie warunkowe.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Wed, 12 Oct 2005 17:51:46 +0200


Adam Dybkowski przemówił ludzkim głosem:
[...] ani przesyłania pojedynczego bitu. Do skopiowania bitu
z jednego rejestru do drugiego trzeba wykonać aż 4 rozkazy.

A nieprawda, wystarczy para instrukcji BLD i BST.

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: AT90S2313 czy jest odpowiednik "cpl"?
Date: Fri, 14 Oct 2005 12:19:45 +0200


Zbych wrote:

[...] ani przesyłania pojedynczego bitu. Do skopiowania bitu z jednego
rejestru do drugiego trzeba wykonać aż 4 rozkazy.

A nieprawda, wystarczy para instrukcji BLD i BST.

) Dobrze wiedzieć. Jakoś wcześniej na to nie wpadłem i bit T wydawał mi
się mocno nieprzydatny.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.