Programa No.1:
Link del programa: https://drive.google.com/open?id=1HCr0XPAFA2nwxr3tpQH_gQsTk7SVNFL_
Ejecución del programa:
Código:
org 100h
include 'emu8086.inc'
mov si, 0 ;ponemos si en 0
comienzo:
mov al, msg2[0] ;copiar la primera letra de la palabra A al
cmp msg[si],"$" ;si es el fin de la cadena mandar a final
jz final ; brinca si es igual
cmp msg[si], al ;comparar si encuentra la primera letra de la cadena
jne seguir ;brica si es diferente
mov di, 1 ;poner en 1 di
comprobar:
mov al, msg2[di]
mov bx, di
cmp msg[si+bx], al ;posicion de la letra coincidente + di, comparar con la cadena
jne seguir ;si no coincide mandar a seguir
inc di ;incrementar di para seguir recorriendo cadena
cmp msg2[di],"$" ;si es el fin de la cadena y el programa llego
jz resultado ;aca quiere decir que la cadena es parte de la palabra
loop comprobar ;bucle para recorrer cadena
seguir:
inc si ;para seguir recorriendo la palabra
loop comienzo ;bucle principal para recorrer palabra
resultado:
mov dx, offset msg3 ;copiar msg3 a dx
mov ah, 9 ;preparar ah con 9 para la interrupcion 21h
int 21h ;mostrar contenido en dx
final:
ret
msg db "tecnologico$"
msg2 db "tec$"
msg3 db "Si se encuentra$"
Programa No.2:
Link del programa: https://drive.google.com/open?id=1IEdSIpm8D7isb5iR-KMA4HJo9Jw5ZAHk
Ejecución:
Código:
org 100h
include 'emu8086.inc'
mov si, 0 ;ponemos si en 0
comienzo:
mov al, msg2[0] ;copiar la primera letra de la palabra A al
cmp msg2[si],"$" ;si es el fin de la cadena mandar a final
je final ; brinca si es igual
cmp msg[si], al ;comparar si encuentra la primera letra de la cadena
jne seguir ;brica si es diferente
mov di, 1 ;poner en 1 di
comprobar:
mov al, msg2[di]
mov bx, di
cmp msg[si+bx], al ;posicion de la letra coincidente + di, comparar con la cadena
jne seguir ;si no coincide mandar a seguir
inc di ;incrementar di para seguir recorriendo cadena
cmp msg[di],"$" ;si es el fin de la cadena y el programa llego
jz resultado ;aca quiere decir que la cadena es parte de la palabra
loop comprobar ;bucle para recorrer cadena
seguir:
mov di, 1
inc si ;para seguir recorriendo la palabra
loop comienzo ;bucle principal para recorrer palabra
resultado:
mov dx, offset msg3 ;copiar msg3 a dx
mov ah, 9 ;preparar ah con 9 para la interrupcion 21h
int 21h ;mostrar contenido en dx
jmp fin
final:
mov dx, offset msg4
mov ah, 9
int 21h
fin:
ret
msg db "tecnologico$"
msg2 db "tecnolovgico$"
msg3 db "Si se encuentra$"
msg4 db "No se encuentra$"
msg5 db "fin$"
Programa No.3
Link del programa: https://drive.google.com/open?id=17j-dg_1AnuM8xP5zT99b9F8FqcEkNadg
Ejecución del programa:
Código:
org 100h
include 'emu8086.inc'
mov si, 0 ;ponemos si en 0
comienzo:
mov al, msg2[0] ;copiar la primera letra de la palabra A al
cmp msg2[si],"$" ;si es el fin de la cadena mandar a final
je final ; brinca si es igual
cmp msg[si], al ;comparar si encuentra la primera letra de la cadena
jne seguir ;brica si es diferente
mov di, 1 ;poner en 1 di
comprobar:
mov al, msg2[di]
mov bx, di
cmp msg[si+bx], al ;posicion de la letra coincidente + di, comparar con la cadena
jne seguir ;si no coincide mandar a seguir
inc di ;incrementar di para seguir recorriendo cadena
cmp msg[di],"$" ;si es el fin de la cadena y el programa llego
jz resultado ;aca quiere decir que la cadena es parte de la palabra
loop comprobar ;bucle para recorrer cadena
seguir:
mov di, 1
inc si ;para seguir recorriendo la palabra
loop comienzo ;bucle principal para recorrer palabra
resultado:
printn 'si se encuentra'
jmp fin
final:
print 'no se encuentra'
fin:
mov ax, 4c00h
ret
msg db "tecnologico$"
msg2 db "tecnolovgico$"
msg5 db "fin$
No hay comentarios.:
Publicar un comentario