Do znawcow TMS 320C50

Loading thread data ...

Ten PORT to taki skró myślowy. W rzeczywistości C50 nie ma portów. W ogóle procesory DSP nie miewają (a na pewno nie miewały jeszcze niedawno) takich zbędnych dla obliczeń dodatków. C50 ma specjalne wyjście typu /Strobe adresujące przestrzeń nazwaną przestrzenią I/O. To działa dokładnie tak jak pamięć, tylko strobowanie jest sygnałem /IS. Aby odczytać z portu cokolwiek, użyj instrukcji IN (OUT dla zapisu). To kwestia programowa. Żeby jednak utworzyć port musisz do procesora połączyć bufor 16-bit (np. 2x

245 lub 541) i jego linię strobującą (DIR lub /EN) podłączyć do sygnału będącego funkcją logiczną sygnału /RD i /IS tak, by stany niskie na /RD i /IS wyprowadzały bufor zew stanu HiZ czyli podawały sygnał na magistralę danych. Polecam literaturę, czyli Users Guide do C50 i opisy scalaków TTL.
Reply to
JoeBack

Na pewno w instrukcji: SACH temp1,1 jest coś nie tak - nie możesz zdejmować starszego słowa z akumulatora, bo jest ono puste i nie zawiera interesującego cię starszego bajtu. Akumulator jest w koncu dwusłowowy z zapasem. Shift też nie jest potrzebny. Sekwencja powinna raczej wyglądać tak: LACL temp,8 ; ładowanie z shiftem i czyszczenie starszego słowa Acc SACL temp1 I dalej już raczej w porządku

A co do znaku... Czy znak nie zrobi się sam ?

Reply to
JoeBack

Coś mnie tknęło. Oczywiście, że: SACH temp1 jest właściwa - interesująca nas zawartość w tej chwili rzeczywiście jest w starzym wordzie. Tylko shift tu jest zbędny. Liczba ta nie ma jednak rozszerzonego na 16-bit znaku. Stą operacje: SACH temp1 LACL temp1 AND ... ADD... Druga miała rozszerzony znak już wcześniej. Po rozszerzeniu znaku można spokojnie dodawać dwie zmienne 16-bit typu signed

Reply to
JoeBack

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.