Z80 – Umwandeln einer Zeichenkette in Großbuchstaben
Diese kleine Routine wandelt eine Zeichenkette, die Kleinbuchstaben enthält, in Großbuchstaben. Jedes Zeichen wird geprüft. EKleinbuchstaben werden in Großbuchstaben umgewandelt. Ziffern und andere Zeichen bleiben, wie sie sind. Das Ergebnis der Umwandlung wird in die Zeichenkette zurück übertragen.
Eine solche Routine ist recht hilfreich, wenn über eine serielle Konsole Daten eingegeben und interpretiert werden müssen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
; Zeichenkette in Großbuchstaben umwandeln ; Zeiger auf den Text in HL ld hl,txt loop: ld a,(hl) ; Zeichen aus (HLÖ) in A or a ; ist es 0? (0= Ende der Zeichenkette) jr z, ende ; ja, dann fertig cp 0x61 ; ist es ein Kleinbuchstabe? jr c,nein ; nein cp 0x7b jr nc,nein ; nein and 0x5f ; ja, ist es, dann umwandeln nein: ld (hl),a ; und in die Zeichenkette zurückschreiben inc hl ; nächstes Zeichen jr loop ; Wiederholen bis Zeichenkette zu Ende ende: ret ; Fertig txt: defb "dies ist die umzuwandelnde Zeichenkette!",0 |