Wandlung Hex in ASCII

OP (Firma: privat) #1637903
Lesenswert?
• ▲
▼
Hallo,

vielleicht kann mir jemand bitte helfen :

Als Anmerkung : Anfänger in Assembler, der sich mit der Anpassung von
vorhandenen Codes sein Ding zusammen bastelt.

Ich möchte gerne 2 Zähler auf den PC übertragen und dort in Profilab
weiterverabeiten. Hat mal funktioniert, allerdings gab es Probleme mit 
dem
Steuerzeichen";" zur Trennung der beiden Zählerwerte.

Man hat mir von meinen Profilab-Usern geraten die Wert in ASCII zu 
wandeln.
Dank Peter Dannegger ( vielen Dank ) mit Seiner 5 Register Lösung 
bekomme ich
einen Wert übersandt, kann ihn aber nicht von dem zweiten Wert trennen.
Also wie kann ich mit einem Trennzeichen die beiden Werte trennen ?

Im ASM ist (noch) nicht die zweite Übergabe der Zähler eingefügt.

Kann mir hier jemand einen Tipp geben? Auch wenn sonst noch etwas
auffällt, bitte kommentieren:

Vielen Dank - Gruß Uwe
Angehängte Dateien:
#1637912
Lesenswert?
• ▲
▼
Uwe Jetzinger schrieb:

> einen Wert übersandt, kann ihn aber nicht von dem zweiten Wert trennen.

  mov    wert, r25
  rcall  serout
  rcall  serout

Ist das Absicht, dass du r25 2mal sendest?

> Also wie kann ich mit einem Trennzeichen die beiden Werte trennen ?

Einfach ein ASCII Zeichen deiner Wahl nach der Zahl schicken.
Sehr beliebt sind ',' oder irgendein sonstiges Sonderzeichen, von dem 
die Wahrscheinlichkeit nicht sehr hoch ist, dass es in Zahlen vorkommt 
(+ und - wären daher eine schlechte Wahl). Warum nimmst du zb nicht 
einfach einen ';'?

  mov    wert, r25
  rcall  serout
  ldi    wert, ';'
  rcall  serout
#1637962
Lesenswert?
• ▲
▼
Uwe Jetzinger schrieb:
> Das war natürlich keine Absicht - danke!
>
> Muß CR und LF nach allen Werten kommen oder zwischendurch ?

Das entscheidest du, bzw. das Programm welches den Text empfängt.

CR LF ist ja nichts anderes als: Jetzt fängt eine neue Zeile an.

Das ist so, wie unsere Vereinbarung, dass nach einem vollständigen Satz 
ein '.' kommt. Das mach ich nur, damit du als Leser mich besser 
verstehts. Denn dann weißt du: Aha, ein neuer Satz beginnt.

Aber ich muss das nicht Kein Mensch kann mich dazu zwingen Satzzeichen 
zu benutzen Ich kann das nach eigenem Gutdünken machen oder auch nicht 
Aber wenn wir beide eine Vereinbrung haben das ich nach jedem Satz und 
auch sonst ein Satzzeichen benutze, dann tust du dir leichter beim 
identifizieren von Sätzen und Satzteilen. Also mach ich das auch.


Alles was du erreichen willst ist, dass das empfangende Programm in

2854190678

die Zahlen 28  541 90 678 wiedererkennen kann.

Ob du das machst indem du schickst

28;541;90;678

oder indem du deinem Gegenüber schickst

28
541
90
678

oder ob du dir etwas ganz anderes ausdenkst, ist im Grunde völlig egal 
und nur eine Vereinbarungssache zwischen dem Programm auf dem µC und dem 
Programm auf dem PC. Nimm das, womit sich der Empfänger (also das 
Programm auf dem PC) am leichtesten tut um die Enizelteile wieder 
rauszufischen.

Antwort schreiben

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