Ensamblador - ayuda urgente en programa

 
Vista:

ayuda urgente en programa

Publicado por david (3 intervenciones) el 18/10/2006 16:49:45
por favor alguien que me ayude!!!!

tengo que entregar este programa:

dada una cadena de 80 caracteres,iungresada por teclado, contar vocales tiene la cadena y emitir un mensaje indicando la cantidad de total de vocales en la cadena, y la cantidad de cada vocal

solicito la ayuda urgente .gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda urgente en programa

Publicado por Brahiam Steven (1 intervención) el 23/12/2009 22:27:41
Bueno Para los que tengan este mismo problema para realizar este programa pues aquí lo tengo bueno casi completo lo que falta es mostrar la cantidad de cada vocal pero con este programa se podrían basar para llegar a ello....

Bueno Aquí esta el Código:

.model small
.stack 64h
.data
cadena1 db 100 dup(' '),'$'
msj1 db 13,10,'Numero de Vocales: $'
msj2 db 'Programa que cuenta las vocales',13,10,'Digite Cadena minuscula: $'
msj3 db 13,10,'Numero de Consonantes: $'

.code
inicio:
mov AX , @data
mov DS , AX

mov ah,09
mov dx,offset msj2
int 21h

mov bx,0000h
lea SI,cadena1
mov cx,50
regresa: mov ah,07h
int 21h

cmp al,13
je termina

mov [SI],al
inc SI
inc bx

mov dl,al
mov ah,02h
int 21h
loop regresa

termina:
mov dl,13;
mov ah,02
int 21h

mov dl,10;
mov ah,02
int 21h


lea SI,cadena1
mov cl,0h
mov bl,0h
;CICLO para contar las vocales en minusculas
ciclo:

mov al,[SI]
cmp al,'$'
JE finciclo
cmp al,61h
je cuenta
cmp al,65h
je cuenta
cmp al,69h
je cuenta
cmp al,6Fh
je cuenta
cmp al,75h
je cuenta

continua:

inc si
jmp ciclo
finciclo:

mov ah,09 ; Escribir cadena
mov dx,offset msj1
int 21h


MOV Dl, cl
add dl,30h
MOV AH,02H
INT 21H





mov ax,4c00h ; servicio para terminar programa de la Int 21H
int 21h
cuenta proc near
inc cl
jmp continua
cuenta endp

end inicio

Nota: ya sabrán ensamblar el código me imagino, bueno el programa me corrió bien en la maquina que tengo y las comparaciones que hace son solo con las vocales a, e, i, o, y u, también se puede hacer con mayúsculas pero hay que modificar o colocar mas comparaciones. Bueno espero les sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda urgente en programa

Publicado por Chaco (1 intervención) el 20/07/2010 17:04:28
.model small
.stack
.data
pide db 'Teclea una palabra',10,13,'$'
cad db 80 dup(' '),'$'

msg1 db 10,13,'a: $'
msg2 db 10,13,'e: $'
msg3 db 10,13,'i: $'
msg4 db 10,13,'o: $'
msg5 db 10,13,'u: $'

Aa db 0
Ee db 0
Ii db 0
Oo db 0
Uu db 0
.code
mov ax,@data
mov ds,ax

mov ah,00h
mov al,03h
int 10h

lea dx,pide
mov ah,09h
int 21h

lea si,cad
mov cx,0
lee:
mov ah,01h
int 21h
cmp al,'$'
je termina
mov [si],al
inc si
inc cx
jmp lee
termina:
lea si,cad
mov bl,0
ciclo:
mov al,[si]
mov dl,al

cmp dl,'a'
je sumaAs
cmp dl,'A'
je SumaAs

cmp dl,'e'
je SumaEs
cmp dl,'E'
je SumaEs

cmp dl,'i'
je SumaIs
cmp dl,'I'
je SumaIs

cmp dl,'o'
je SumaOs
cmp dl,'O'
je SumaOs

cmp dl,'u'
je SumaUs
cmp dl,'U'
je SumaUs

cmp dl,'$'
je FinCiclo
Sigue:
inc si
jmp ciclo
SumaAs:
inc Aa
jmp Sigue
SumaEs:
inc Ee
jmp Sigue
SumaIs:
inc Ii
jmp Sigue
SumaOs:
inc Oo
jmp Sigue
SumaUs:
inc Uu
jmp Sigue
FinCiclo:
lea dx,msg1
mov ah,09h
int 21h

mov dl,Aa
add dl,30h
mov ah,02h
int 21h

lea dx,msg2
mov ah,09h
int 21h

mov dl,Ee
add dl,30h
mov ah,02h
int 21h

lea dx,msg3
mov ah,09h
int 21h

mov dl,Ii
add dl,30h
mov ah,02h
int 21h

lea dx,msg4
mov ah,09h
int 21h

mov dl,Oo
add dl,30h
mov ah,02h
int 21h

lea dx,msg5
mov ah,09h
int 21h

mov dl,Uu
add dl,30h
mov ah,02h
int 21h

mov ah,4ch
int 21h
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda urgente en programa

Publicado por gladys (1 intervención) el 03/12/2010 02:49:36
por favor alguien me puede ayudar

tengo que entregar este programa

dada una cadena ingresada por teclado me debe mostrar las letras del abecedario en orden..

ejem...


la niña como tuna

aclmnñou

mostrar solo una vez las letras sin repetirlas

solicito ayuda urgente gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar