1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| ;*****************************************************************************************;
;*Assembler:TASM *;
;* TLINK *;
;*****************************************************************************************;
.MODEL SMALL
.STACK 128
;----------------------------------Donnees------------------------------------------------;
.DATA
message1 db "Entrez votre chaine de caracteres :",10,13,"$"
message2 db "Longueur de la chaine :",10,13,"$"
message3 db 10,13,"$"
message4 db "Nombre de consonnes :",10,13,"$"
message5 db "Nombre de voyelles :",10,13,"$"
message6 db "Nombre d'autres caracteres :",10,13,"$"
MAX db 81
nbcarac db ?
chaine db 81 dup(" "),0D,"$"
nbcons db 0
nbvoy db 0
nbautre db 0
aff db 0
cpt db 0
;*--------------------------------Programme-----------------------------------------------*;
.CODE
DEBUT:
mov ax,@data
mov ds,ax
mov ah,09h
LEA dx,message1
int 21h
mov ah,0ch
mov al,0ah
LEA dx,MAX
int 21h
mov cl,0
jmp test1
test0:
mov bl,cpt
cmp bl,nbcarac
je fin
jl test1
test1:
mov al,chaine
cmp al,41h
jl autre
jge test2
test2:
cmp al,5Ah
jle test3
jg test4
test3:
cmp al, 'A'
je voyelle
cmp al, 'E'
je voyelle
cmp al, 'I'
je voyelle
cmp al, 'O'
je voyelle
cmp al, 'U'
je voyelle
cmp al, 'Y'
je voyelle
jmp consonne
test4:
cmp al,60h
jle autre
jg test5
test5:
cmp al,7Ah
jle test6
jg autre
test6:
cmp al, 'a'
je voyelle
cmp al, 'e'
je voyelle
cmp al, 'i'
je voyelle
cmp al, 'o'
je voyelle
cmp al, 'u'
je voyelle
cmp al, 'y'
je voyelle
jmp consonne
consonne:
inc nbcons
inc cpt
jmp test0
voyelle:
inc nbvoy
inc cpt
jmp test0
autre:
inc nbautre
inc cpt
jmp test0
fin:
RETOUR_AU_DOS:
mov AX, 4C00h ;Appel de la fonction 4ch pour revenir au DOS
int 21h
end |
Partager