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
schau mal bei den application notes von microchip. da gibts eine in der viele matheroutinen beschrieben werden.
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 !)
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
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
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.
Hier stehen diverse Routinen, suchˋ dir die passende aus: http://www.piclist.com/techref/microchip/math/mul/index.htm
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.
MaWin schrieb: > Danke für die Durchsage. Das Problem wurde sicher seit 2007 noch nicht > gelöst. Oh die Internet-Polizei. Sehr löblich.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.