Subroutine 4stellige Zahl in 2 2stelligen Zahlen wandeln. was ist falsch?

OP #2049663
Lesenswert?
• ▲
▼
Hallo,

die angehängte Subroutine soll eine 4stellige Zahl in 2 2stellige Zahlen 
wandeln.

Irgenwo ist aber noch ein Fehler!

wenn ich die Zahl "2011" übergebe, kommt "02" und "C2" heraus?
Angehängte Dateien:
Gast #2049718
Lesenswert?
• ▲
▼
HI

>Ok ich habe mal den Code formatiert.
>Werde ich in Zukunft mal besser drauf achten.

Na, geht doch

>   ldi    r20, 10
>   mul    r16, r20                           ; multipliziere r16 (die
>   add    r16, r17                           ; add
>   mov    r19, r16                           ; kopiere die

Das Ergebnis einer Multiplikation ist in r1:r0.

Aber das kannst du dir sparen, wenn du nur durch 100 teilst.

MfG Spess
Gast #2049793
Lesenswert?
• ▲
▼
Hi

>Jo Danke,
>jetzt geht's

Wie gesagt, die Multiplikation ist eigentlich unnötig:
1
year_transform:
2
                     push   r17
3

4
                     clr    r17
5
                     rjmp year_transform_04
6
year_transform_03:
7
                     inc    r17
8
year_transform_04:
9
                     subi   r18, Low(100)
10
                     sbci   r19, High(100)
11
                     brcc   year_transform_03
12
                     subi   r18, -100
13
                     mov    r19, r16
14

15
                     pop    r17
16
                     ret

Der Code hat das gleiche Ergebnis.

MfG Spess

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.