16 bit Wurzel Attiny Asm

Gast #2570339
Hi

Sollte funktionieren:
1
;                     Quadratwurzel 16-8 Bit
2
;
3
;                     in  :  r17:r16  Wert
4
;                     out :  r16      Wurzel
5
;
6
sqrt16:               push r0
7
                      push r1
8
                      push r14
9
                      push r20
10
                      push r21
11
                                
12
                      ldi r20,2                  ; Reg Init
13
                      mov r14,r20                ; r15 = 2
14
                      clr r21
15
                      clr r0                     ; temp.Result
16
                      clr r1                     ; Null
17
sqrt16_10:            sub r16,r20                ; Subtraktion
18
                      sbc r17,r21
19
                      brcs sqrt16_20
20
                      inc r0                     ; Result+1
21
                      add r20,r14                ; Increase 2
22
                      adc r21,r1
23
                      rjmp sqrt16_10
24
sqrt16_20:            mov r16,r0                 ; Result
25
                      clr r17
26

27
                      pop r21
28
                      pop r20
29
                      pop r14
30
                      pop r1
31
                      pop r0
32
                      ret

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.