conversion d'une chaine en majuscule ..en éliminaant tt carctères(espace , ; ?/...)..une chaaine comme.. abcA..?/£z sera convertie en ABCAZ
c'est fait avc emulator8086..peut très bien marcher avec masm32ou tasm avec qulques petites modifications bien sur..si vous avez d'autres solutions pour améliorer mon modèste programee..je suis preneur ;)
Source / Exemple :
; create ".com" executable (DOS 1.0 compatible).
org 100h ; add +100h to all addresses (required for .com file).
jmp start
ch1 db "entrez une chaine :",'$'
ch2 db 50 dup('$')
start:
lea dx,ch1 ;affichage de la chaine : "entrez une chaine";
mov ah,09h
int 21h
;mov [si],10;optionnel pour limiter la taille maximale;
lea dx,ch2 ;lecture de la nouvelle chaine ;
mov ah,0Ah
int 21h
lea si,ch2+2
mov di,si
l4:
cmp [si],'$'
je l1
cmp [si],'a'
jae l2 ;l2 la cmparaison avc peti z;
cmp [si],'Z'
jae l3 ;l3 pour le traitement des carctères spéciaux traitemnt;
cmp [si],'A'
jbe l3 ;l3 encore;
l6:
mov al,[si]
mov [di],al
inc di
l3:
inc si
jmp l4
;après la comparaison de peti z;
l2:
cmp [si],'z'
jnbe l3 ;traitment encore;
mov al,[si] ;sub si+2,32 autre syntaxe;
sub al,32
mov [si],al
jmp l6
l1:
mov [di],'$'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;l'affichage;;;;;;;;;;;;;;;;;;;;;;;;;
mov dh, 10
mov dl, 20
mov bh, 0
mov ah, 2
int 10h
lea dx,ch2+2 ;dik cx lwla;
mov ah,09h
int 21h
ret
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.