10 ' ; UPPER - BEFEHL 20 ' ; 30 ' typerr equ &h406e ; Type mismatch error 40 ' cp 3 ; Stringvariable ? 50 ' jp nz,typerr ; nein, dann Type mismatch error 60 ' ld a,(de) ; Laenge des Strings 70 ' or a ; Z-Flag setzen, wenn A=0 80 ' ret z ; Fertig wenn Laenge=0 90 ' ld b,a ; Laenge als Schleifenzaehler 100 ' ld h,d ; Deskriptoradresse 110 ' ld l,e ; nach HL 120 ' inc hl 130 ' ld a,(hl) ; Adresse 140 ' inc hl ; des 150 ' ld h,(hl) ; Stringanfangs 160 ' ld l,a ; nach HL 170 ' schlei ld a,(hl) ; wenn ASCII Code 180 ' cp 123 ; >= als ASCII("z")+1 190 ' jr nc,ok ; dann nicht umwandeln 200 ' cp 97 ; wenn <= ASCII("a") 210 ' jr c,ok ; dann nicht umwandeln 220 ' and &b11011111 ; Umwandlung 230 ' ld (hl),a ; ASCII wieder speichern 240 ' ok inc hl ; Adresse des naechsten Codes 250 ' djnz schlei ; bis Stringende wiederholen 260 ' ld a,3 ; Typenkennziffer fuer String 270 ' ; DE enthaelt alte Deskriptoradresse 280 ' ret 290 ' end nde wiederholen 260 ' ld a,3 ; Typenkennziffer fuer String 270