16bit/16bit Routine

Gast #48310
Hallo!

Ich habe mich mit einer 16bit/16bit Divisionsroutine versucht, doch es
hat einfach nicht geklappt. Dann habe ich mir gedacht, gut, machst du
dich auf die Suche und suchst im Internet was und versucht dann anhand
dieser Routine das Ganze zu verstehen....
Ich bin auch fündig geworden, bloss habe ich nur eine für einen anderen
Controllertypen gefunden, welcher anscheinend Befehle verwendet mit
welchen meine ATmega8 nichts anfangen (ich übrigens auch nicht)kann.
Mir ist es leider nicht gelungen diese Routine umzuschreiben und so
frage ich euch, ob von euch jemand eine solche Routine hat?
Ich bin ja eigentlich nicht zu faul, aber irgendwann kann einem ein
Problem schon recht zusetzen!!!!

Danke für eure Hilfe!
Gast #48311
Div16:
  ; calc r22:r23 = r22:r23 / r24:r25
  clr r26
  clr r27
  ldi r16,16
_Div16_1:
  lsl r22
  rol r23
  rol r26
  rol r27
  cp r26,r24
  cpc r27,r25
  brlo _Div16_2
  sub r26,r24
  sbc r27,r25
  inc r22
_Div16_2:
  dec r16
  brne _Div16_1
  ret

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.