pulse
Goto Top

Zeichenkette eingeben und Häufigkeit der einzelnen Zeichen ausgeben

Hallo administrator.de-Community

ich habe im jetzigen Semester ASM-Programmierung und als Aufgabe wurde uns aufgegeben ein Programm zu schreiben,
welches eine eingegebene Zeichenkette einliest und die Häufigkeit der jeweiligen Zeichen ausgibt.
Also z.b. wie oft ein a vorkommt, ein b etc.

Leider kam bei mir noch nicht die Erleuchtung in dieser Programmiersprach, da ich vorher nur C/C++ programmiert hab.

Hier der Ansatz:
http://endzeit.twinsbyte.de/storage/AUFG2.ASM

Dort wird die Zeichenketten eingelesen und die Zeichen werden sortiert.
Aber wie kann ich jetzt die Zeichen zählen und dann ausgeben?
Hat jemand eine gute Idee?


Chris

Content-Key: 59640

Url: https://administrator.de/contentid/59640

Printed on: April 18, 2024 at 23:04 o'clock

Member: miniversum
miniversum May 23, 2007 at 16:00:57 (UTC)
Goto Top
Dein Makro zur Ausgabe ist leider ncith mit dabei. Aber dort müßtest du ja auch nach einem Bestimmten Zeichen suchen was dir das Ende der Ausgabe angibt.
Genauso würde ich das auch machen.
Den Text Buchstabe für Buchstabe durchgehen (z.B. jeweils in BL). Hinterlege den Buchstaben in einem Register (z.B. CL) und einen Zählwert dafür in einem Zweiten (z.B. CH). Den Sortierten Text gehst du an durch und machst eine Prüfung mit bedingem Sprung. Unterscheidet sich der aktuelle Buchstabe (BL) von dem Wert im Register (CL) gibst du den Buchstaben im Register (CL) und den Zählwert dazu (CH) aus. Dann schreibst du den neuen Buchstaben von BL nach CL (mov CL, BL) und setzt den wert dazu auf eins (mov CH, 1). Ist der aktuelle Buchstabe (BL) gleich dem Letzten (CL) dann erhöhst du einfach nur den Zählwert um 1 (ADD CH, 1). So machst du die ganze Zeichenkette des Sortieren Textes durch. Wenn dann ein Definiertes Ende des Sortieren Textes kommt (durch ein Zeichen was nicht im Alphabet ist) kansnt dud as Programm beenden.

miniversum
Member: pulse
pulse May 23, 2007 at 16:53:00 (UTC)
Goto Top
danke miniversium für diese erleuchtung :D
jetz muss ich nur noch wissen wie man das programmiert,
aber aller anfang ist schwer face-smile
wär schön wenn ich mich diesbezüglich vielleicht bei dir melden könnte, wenn ich probleme bei der umsetung hab^^
Member: miniversum
miniversum May 23, 2007 at 17:10:52 (UTC)
Goto Top
Hast du die Textausgabe auf dem Bildschirm selbst programmiert? das funktioniert so ähnlich. Da wird auch jedes Zeichen einzelnnach einander auf dem Bildschirm ausgegeben.
Schreib einfachhier was du hast dann.
miniversum
Member: pulse
pulse May 31, 2007 at 17:51:47 (UTC)
Goto Top