ASCII-Code filtern mit 89C2051-Befehlssatz

Gast #384988
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
Gast #384989
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.
Gast #384990
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

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