long zu ascii - ARM7

Persönliche Seite #769897
Lesenswert?
• ▲
▼
Das hättest Du auch gleich schreiben können. Das Grundkonzept ist immer 
dasselbe, ob nun ein 8-Bit-Prozessor oder ein 32-Bit-Prozessor verwendet 
wird, daher solltest Du das Funktionsprinzip hier im Forum beschrieben 
finden - ist ja nicht so, daß die Frage das erste Mal gestellt würde.

Achja, und was bitte hat das mit "PC-Programmierung" zu tun?

Nichts, also -> verschoben.
#769966
Lesenswert?
• ▲
▼
gast wrote:
> Nein, ich muss die Funktion in Assembler für ARM7 realisieren!
> Danke!


Die Zahl sei 3587

Wieviele Tausender sind in 3587?

  3587 - 1000 = 2587          1 mal
  2587 - 1000 = 1587          2 mal
  1587 - 1000 =  587          3 mal
   587 - 1000 = -413     negativ, ergo  sind 3 Tausender enthalten

Wiviele Hunderter sind in 587

   587 - 100 = 487            1 mal
   487 - 100 = 387            2 mal
   387 - 100 = 287            3 mal
   287 - 100 = 187            4 mal
   187 - 100 =  87            5 mal
    87 - 100 = -13       negativ, ergo sind 5 Hunderter enthalten

Wieviele Zehner

    87 - 10 = 77              1 mal
    77 - 10 = 67              2 mal
    67 - 10 = 57              3 mal
    ...
    27 - 10 = 17              7 mal
    17 - 10 =  7              8 mal
     7 - 10 = -3         negativ, ergo sind 8 Zehner

Wieviele Einer sind in 7

  Einfach, das sind 7

Wie wissen also, dass in 3587 enthalten sind
3 Tausender, 5 Hunderter, 8 Zeher und 7 Einer.
Das sollte doch jetzt kein Problem mehr sein, einen String
mit den entsprechenden ASCII Zeichen zu füllen.
Gast #770059
Lesenswert?
• ▲
▼
Gibt es einen vernünftigen Grund sowas in Assembler neu zu programmieren 
?

Der einzge Grund der mir einfällt ist, das ein Prof. an der Uni, Fh, 
oder ähnliches das als Übungsaufgabe stellt.
Und dan lös es selbst, wenn du eine Lösung abschreibst lernst du es 
nicht.
Geht spätestens bei der Klausur in die sch.....
Gast #770119
Lesenswert?
• ▲
▼
>Gibt es einen vernünftigen Grund sowas in Assembler neu zu
>programmieren ?

Nun, der GNUARM z.B. kennt kein itoa. Und wenn eine Implementierung in C
zu langsam ist...

Den Ansatz von Herrn Buchegger habe ich mal auf einem AVR umgesetzt.
Das ist deutlich schneller als das übliche Verfahren mit div/modulo.
#770631
Lesenswert?
• ▲
▼
/Und wenn eine Implementierung in C zu langsam ist.../

Die paar µS unterschied zwischen der C und der Assembler Implementierung 
auf einem ARM 7 wirst du nie merken.
Wenn dein µC deshalb zu langsam ist, dann hast du etwas grundlegendes 
falsch gemacht.
==> Falscher µC ausgewählt
Benötigte und Vorhanden Resourcen passen nicht zusammen
Das kommt von erst mal Anfangen, ohne zu wissen was man macht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren