Kto wie, mnożenie w MSP430??

Apr 22, 2005 4 Replies

Jak pomnożyć czy podzielić dwie liczby znajdujące sie załóżmy w rejestrach R5 i R6 i zapisać do R7 programując w asemblerze.



Bo mi to nie działa: mov #(R5 * R6),R7 mov #(R5 / R6),R7



Oczywście instrukacja mov #(2 * 2),R7 działa. Co nie tak? Może są inne metody, dzieki za podpowiedzi.



To jakis assember wysokiego poziomu pewnie bo mov to przeniesienie z tego co mi wiadomo

chomiczuk81 napisał(a):

Zaznaczam, że moją domeną jest AVRasm i 80X86 masm, więc moje informacje nie będą autoryzowane... ;) Operacje przeważnie są dokonywane na max. 2 rejestrach, powinieneś poprzedzić te instrukcje instrukcjami mnożenia lub dzielenia rejestrów R5 i R6, jeżeli występują na liście rozkazów i dopiero wynik podstawiać do skopiowania (mov).

kompilator wylicza wartość 2*2 i wstawia na miejsce...

<cut>

Dzieki za podpowiedz.

Ale czy te mnożenie rejestrów mozliwe jest tylko wykorzystując mnożenie hardwarowe? Może da sie zrobic jakieś makro, bo MSP oferuje kupe operatorów ale nie wiadomo do końca jak ich uzywać. Dzieki z góry.

Użytkownik chomiczuk81 napisał:

I nie może, MSP nie ma rozkazu mnożenia, ani dzielenia. Niektóre mają sprzętowe mnożenie ale korzysta się z niego inaczej. Proponuję jednak przejrzeć PDF'a

Tak, bo wtedy mnoży Pentium a nie MSP ;-)

Czytać dokumentację? Albert

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required