Stringa vocali
Inserire da tastiera una stringa e contare quante vocali ci sono:
<pre class="brush: asm">name "mycode" ; output file name (max 8 chars for DOS compatibility)
org 100h ; set location counter to 100h
#make com#
jmp start
;variabili
parola db 11,?,11 dup ("$")
numa db 0
nume db 0
numi db 0
numo db 0
numu db 0
msg1 db "dammi la stringa--> $"
msg2 db "nn contiene vocali$"
msga db "contiene la a--> $"
msge db "contiene la e--> $"
msgi db "contiene la i--> $"
msgo db "contiene la o--> $"
msgu db "contiene la u--> $"
acapo db 10,13, "$"
ba db 0
be db 0
bi db 0
bo db 0
bu db 0
stampa macro stringa
lea dx,stringa
mov ah,09h
int 21h
endm
leggi macro var
lea dx,var
mov ah,0ah
int 21h
endm
cifra macro car
mov dl,car
mov ah,02h
int 21h
endm
converti macro nm
add nm,"0"
endm
start:
stampa msg1
leggi parola
mov ax,0
mov ch,0
mov cl,parola[1]
mov si,2
ciclo:
cmp parola [si],"a"
je a
cmp parola [si],"e"
je e
cmp parola [si],"i"
je i
cmp parola [si],"o"
je o
cmp parola [si],"u"
je u
jmp fine
a:
inc ba
jmp fine
e:
inc be
jmp fine
i:
inc bi
jmp fine
o:
inc bo
jmp fine
u:
inc bu
jmp fine
fine:
inc si
loop ciclo
converti ba
converti be
converti bi
converti bo
converti bu
stampa acapo
stampa msga
cifra ba
stampa acapo
stampa msge
cifra be
stampa acapo
stampa msgi
cifra bi
stampa acapo
stampa msgo
cifra bo
stampa acapo
stampa msgu
cifra bu
ret
</pre>
