Salut,
Voila ce que j ai commencer a faire. Pour l'instant il ne regarde que si c'est des minuscules et il les transforme
.MODEL SMALL
.STACK
.DATA
carintro db "Veuillez entrer la chaine de caractères à tester : $"
carjuste DB 0ah, 0dh, "La chaine que vous avez entré est un palindrome !$"
carfaux DB 0ah, 0dh, "La chaine que vous avez entré n'est pas un palindrome !$"
recommencer db 'Appuyer sur ENTER pour recommencer ou sur ESC pour arreter$'
vecteur DB 250, ?, 251 dup ('$')
.CODE
MOV AX, @DATA
MOV DS, AX
MOV AX, 0900h
LEA DX, carintro
INT 21h
mov bx, 0
main:
mov ah, 01h
int 21h
cmp al, 61h
jb vec
cmp al, 7ah
ja vec
sub al, 20h
vec:
mov vecteur[bx], al
inc bx
jmp main
mov dx, bx
mov bx, 0
palin :
cmp bx, dx
jae fin1
cmp vecteur[bx], 20h
je bx_space
cmp vecteur[dx], 20h
je dx_space
mov cx, vecteur[dx]
cmp vecteur[bx], cx
jne fin2
dec dx
inc bx
jmp palin
bx_space :
inc si
jmp palin
dx_space :
dec di
jmp palin
fin1 :
mov ax, 0900h ; affichage du message de succès
lea dx, carjuste
int 21h
mov ax, 0900h
lea dx, vecteur
int 21h
jmp RECOMMENCE
fin2 :
mov ax, 0900h ; affichage du message d'échec
lea dx, carfaux
int 21h
RECOMMENCE:
MOV dh,22
MOV dl,10
MOV ah,02h
INT 10h
MOV dx,offset recommencer
PUSh AX
MOV AX, 0900h
INT 21h
POP AX
MOV ah,1
INT 21h
CMP al,1Bh
quit :
mov ax, 4c00h
int 21h
end