Witam
czy jest w 2313 odpowiednik 51'-wego rozkazu cpl (neguj bit) ?
bo szukam i znale¶æ niemoge
AzaZeL
Witam
czy jest w 2313 odpowiednik 51'-wego rozkazu cpl (neguj bit) ?
bo szukam i znale¶æ niemoge
AzaZeL
AzaZeL przemówił ludzkim głosem:
EOR :-) A tak na serio, to nie ma bezpośredniego odpowiednika.
Zbych napisał(a):
witam
tak mi sie w³a¶nie wydawa³o :(
przyzwyczajenia z 51 sa bardzo silne :)
szkoda
AzaZeL
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.
Adam Dybkowski przemówił ludzkim głosem:
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.
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.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required