Forum: Mikrocontroller und Digitale Elektronik PIC Assembler Multiplikation


von Marsupilami (Gast)


Lesenswert?

Hallo!

Ich hab mal eine Frage! Eine Multiplikation mit 2 sieht beim PIC ja so 
aus:
Mal2
  bcf  STATUS,C
  rlf  BIN4, f
  rlf  BIN4+1, f
  rlf  BIN4+2, f
  rlf  BIN4+3, f
  return

ich würd das ganze aber gerne mit 120 multiplizieren, kann mir jemand 
weiterhelfen wie das dann geht?

Danke!

Tobi

von Max (Gast)


Lesenswert?

schau mal bei den application notes von microchip. da gibts eine in der 
viele matheroutinen beschrieben werden.

von Severino R. (severino)


Lesenswert?

Für welchen PIC?

PIC18 haben einen Hardware-Multiplier.

von Max (Gast)


Lesenswert?

Multiplikation mit 2 ist nur einmal links schieben!

von klaus (Gast)


Lesenswert?

hi,

vielleicht 'mal 128' und dann 'minus (mal 8)' ... oder so
==> nur durch schieben und subtrahieren

(nee, meine tastatur ist nicht kaputt, ich bin zu faul zum drücken !)

von Marsupilami (Gast)


Lesenswert?

Ist ein PIC 16. Ich find leider auf der Homepage nix. Entweder es ist 
nich für meinen PIC oder es ist nich in Assembler. :(

Tobi

von Marsupilami (Gast)


Lesenswert?

achja, desweiteren bin ich draufgekommen dass ich eigentlich nicht mit 
einer 8 Bit Zahl sonder mit einer 16Bit Zahl multiplizieren möchte!
Z.B. 480 oder 720.

Tobi

von 2961 (Gast)


Lesenswert?

Wie hast du's mit normalen Zahlen von Hand auf Papier gemacht ? Das geht 
mit einem Controller genauso. Nur ist da jede Stelle fuer eine 
Wertigkeit von 2.

von Simi (Gast)


Lesenswert?


von Martin (Gast)


Lesenswert?

Hier stehen diverse Routinen, suchˋ dir die passende aus:

http://www.piclist.com/techref/microchip/math/mul/index.htm

von MaWin (Gast)


Lesenswert?

Simi schrieb:
> https://praxistipps.chip.de/binaerzahlen-multiplizieren-so-gehts_102578

Danke für die Durchsage. Das Problem wurde sicher seit 2007 noch nicht 
gelöst.

von Simi (Gast)


Lesenswert?

MaWin schrieb:
> Danke für die Durchsage. Das Problem wurde sicher seit 2007 noch nicht
> gelöst.

Oh die Internet-Polizei. Sehr löblich.

von Bernd (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

im Anhang ist unter anderem eine 16-Bit-Multiplikation. FACTOR1_0 u.s.w. 
musst du noch definieren:

FACTOR1_0    equ 0x40  ; Faktor1, L-Teil
FACTOR1_1    equ 0x41  ; Faktor1, H-Teil
FACTOR2_0    equ 0x42  ; Faktor2, L-Teil
FACTOR2_1    equ 0x43  ; Faktor2, H-Teil
PRODUCT_0    equ 0x44  ; Produkt für 16-Bit-Multipl. - L-Teil
PRODUCT_1    equ 0x45
PRODUCT_2    equ 0x46
PRODUCT_3    equ 0x47  ; Produkt für 16-Bit-Multipl. - H-Teil
FACTOR1_2    equ 0x48  ; Funktionsintern für Schiebeoperationen
FACTOR1_3    equ 0x49  ; Funktionsintern für Schiebeoperationen

Bernd

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.