Kto wie, mnożenie w MSP430??

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.

Reply to
chomiczuk81
Loading thread data ...

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

Reply to
miet

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...

Reply to
Daniel Dawid <Light'I> Majewski
<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.

Reply to
chomiczuk81

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

Reply to
Albert Bartoszko

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.