Forum: PC-Programmierung ASCII-Code filtern mit 89C2051-Befehlssatz


von Jens Zeitler (Gast)


Lesenswert?

Hallo zusammen,
ich habe erst angefangen mit Programmieren und habe folgendes
Problem:Wie muss ich das programmieren, dass nur die ASCII-Zeichen A-Z
(41h-5Ah) und die Zahlen 0-9 (30h-39h) durchgelassen werden ? Alle
anderen Zeichen werden ignoriert. Ich schreibe ein Assembler-Programm
für den 89C2051 (8051).

Danke Jens

von Michael (Gast)


Lesenswert?

Lade A mit dem aktuellen Wert und ziehe anschließend zunächst 30h ab.
Wenn Carry gesetzt, war der Wert zu klein.
Dann wird 09h (39h-30h) abgezogen, wenn C=0, hast Du eine Zahl
gefunden.
Wenn nicht, 06h (41h-39h) abziehen .....
Den Rest wirst Du selbst finden.

von Jens Zeitler (Gast)


Lesenswert?

Vielen Dank Michael, für die schnelle Hilfe. Ich habe es mit CJNE und JC
Sprungbefehlen gelöst. Das Programm funktionier schon fast so wie ich es
mir vorgestelltt habe. Es wandelt Text in Telegrafiecode und gibt ihn an
einem Port aus. Ich habe Zeitschleifen verwendet, um die Punkte,Striche
und Pausen zu bilden. Besser wäre den Timer zu nutzen, und die Zeit mit
einer Interuptroutine zu verändern. Aber, das wird die nächste Hürde
sein.... Ich danke nochmal ! Tschüß
Jens DK1JZ

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.