;************* Andrea Vanessa Dorado Aliaga*************************
name "Examen"
org 100h
jmp start
;*******************palabra*****************************************
m1:
s db 'assembler '
s_size = $ - m1
db 0Dh,0Ah,'$'
start:
;***************************Imprimiendo la palabra a analizar*************
mov ah, 9
mov dx, offset s
int 21h
;*************************** declarando reg*****************************
xor ah,ah
xor al,al
xor bh,bh
xor bl,bl
xor ch,ch
;***************************proceso**************************************
;****apuntando al ultimo****
lea di, s
mov si, di
add si, s_size
dec si ; point to last char!
mov cx, s_size
;****comparando***
cmp cx, 'a'
add ah,1
cmp cx, 'e'
add al,1
cmp cx, 'i'
add bh,1
cmp cx, 'o'
add bl,1
cmp cx, 'u'
add ch,1
cmp ah,1
jmp cont
je es_vocales ; single char is always palindrome!
next_char:
mov al, [di]
mov bl, [si]
cmp al, bl
jne notiene_5
inc di
dec si
loop next_char
cont:
add cl,1
cmp cl,5
;jmp 5_vocales
es_vocales:
;*****************************Tiene 5 vocales**************************************!"
mov ah, 9
mov dx, offset msg1
int 21h
jmp stop
notiene_5:
;*****************************Solo se puede ordenar*********************************!"
mov ah, 9
mov dx, offset msg2
int 21h
stop:
; wait for any key press:
mov ah, 0
int 16h
ret
msg1 db " La palabra tiene las 5 vocales$!"
msg2 db " Ordenando la palabra!$"
OyoqKioqKioqKioqKiogQW5kcmVhIFZhbmVzc2EgRG9yYWRvIEFsaWFnYSoqKioqKioqKioqKioqKioqKioqKioqKioKbmFtZSAiRXhhbWVuIgoKb3JnIDEwMGgKCmptcCBzdGFydAo7KioqKioqKioqKioqKioqKioqKnBhbGFicmEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgptMToKCnMgZGIgJ2Fzc2VtYmxlciAnICAgICAgCgoKc19zaXplID0gJCAtIG0xCiAgZGIgMERoLDBBaCwnJCcKCnN0YXJ0OgoKOyoqKioqKioqKioqKioqKioqKioqKioqKioqKkltcHJpbWllbmRvIGxhIHBhbGFicmEgYSBhbmFsaXphcioqKioqKioqKioqKioKbW92IGFoLCA5Cm1vdiBkeCwgb2Zmc2V0IHMKaW50IDIxaCAKOyoqKioqKioqKioqKioqKioqKioqKioqKioqKiAgZGVjbGFyYW5kbyByZWcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgp4b3IgYWgsYWgKeG9yIGFsLGFsCnhvciBiaCxiaAp4b3IgYmwsYmwKeG9yIGNoLGNoCjsqKioqKioqKioqKioqKioqKioqKioqKioqKipwcm9jZXNvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKOyoqKiphcHVudGFuZG8gYWwgdWx0aW1vKioqKgpsZWEgZGksIHMKbW92IHNpLCBkaQphZGQgc2ksIHNfc2l6ZQpkZWMgc2kgIDsgcG9pbnQgdG8gbGFzdCBjaGFyIQptb3YgY3gsIHNfc2l6ZQo7KioqKmNvbXBhcmFuZG8qKioKY21wIGN4LCAnYScKYWRkIGFoLDEKCgpjbXAgY3gsICdlJyAgCmFkZCBhbCwxCgpjbXAgY3gsICdpJwphZGQgYmgsMQoKY21wIGN4LCAnbycgCmFkZCBibCwxCgpjbXAgY3gsICd1JwphZGQgY2gsMSAgIAoKCmNtcCBhaCwxCmptcCBjb250CgpqZSBlc192b2NhbGVzICA7IHNpbmdsZSBjaGFyIGlzIGFsd2F5cyBwYWxpbmRyb21lIQoKCm5leHRfY2hhcjoKICAgIG1vdiBhbCwgW2RpXQogICAgbW92IGJsLCBbc2ldCiAgICBjbXAgYWwsIGJsCiAgICBqbmUgbm90aWVuZV81CiAgICBpbmMgZGkKICAgIGRlYyBzaQpsb29wIG5leHRfY2hhcgogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAKY29udDogCmFkZCBjbCwxCmNtcCBjbCw1CjtqbXAgNV92b2NhbGVzCiAKICAgICAgICAgICAgICAgCgplc192b2NhbGVzOiAgCiAgIDsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlRpZW5lIDUgdm9jYWxlcyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISIKICAgbW92IGFoLCA5CiAgIG1vdiBkeCwgb2Zmc2V0IG1zZzEKICAgaW50IDIxaApqbXAgc3RvcAoKbm90aWVuZV81OgogICA7KioqKioqKioqKioqKioqKioqKioqKioqKioqKipTb2xvIHNlIHB1ZWRlIG9yZGVuYXIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohIgogICBtb3YgYWgsIDkKICAgbW92IGR4LCBvZmZzZXQgbXNnMgogICBpbnQgMjFoCnN0b3A6CgoKOyB3YWl0IGZvciBhbnkga2V5IHByZXNzOgptb3YgYWgsIDAKaW50IDE2aAoKCnJldAoKCm1zZzEgZGIgIiAgTGEgcGFsYWJyYSB0aWVuZSBsYXMgNSB2b2NhbGVzJCEiCm1zZzIgZGIgIiAgT3JkZW5hbmRvIGxhIHBhbGFicmEhJCIK