Originariamente inviato da Angemous
Mi potete aiutare?
Devo creare un programma che deve comparare singolarmente i caratteri di una stringa e se sono maiuscoli, convertirli in minuscoli.
Praticamente deve :
-acquisire una stringa(max 30 caratteri)
-convertirla in minuscolo(aggiungere '32' al codice ASCII del carattere).
AIUTATEMI!!!
Dovrebbe essere abbastanza semplice, anche se in assembly la vedo un tantino lungaVVoVe:...
Potresti fare più o meno così:
codice:
stringa DB 30 DUP(0) ;stringa vuota di 30 caratteri
MOV CX, 30
MOV SI, 0
ciclo:
MOV AH, 01H
INT 21H ;ora in AL ha il carattere
CMP AL, <carattere fine> ;invio, spazio, esc, scegli tu
JE fineCiclo
MOV stringa[SI], AL
LOOP ciclo ;ripete CX volte, come fosse un "for" al contrario
fineCiclo:
;ora in CX hai il numero di caratteri restanti; 30 - CX ti dà il numero di caratteri inseriti
;fai un ciclo come il precedente partendo da 30-CX e converti i caratteri
Non sono molto sicuro sugli indici, ma credo che dovrebbe funzionare. E' da un po' che non tratto più l'assembly...
Buon divertimento