miércoles, 13 de marzo de 2019

programa en emu8086 subcadena

programa en emu8086

programa que valida si una cadena es sub cadena de una palabra. su codigo es el siguiente.


org 100h
include 'emu8086.inc'
mov si, 0   
 
 
comienzo:
mov al, msg2[0] 

cmp msg[si],"$" 
 jz resultado2       
cmp msg[si], al
 jne seguir 


mov di, 1       

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
         


 inc di               

 cmp msg2[di],"$"     
 jz resultado


loop comprobar

seguir: 

  inc si
   
 
 
loop comienzo

   

resultado:

  mov dx, offset msg3   
  mov ah, 9           
  int 21h               
  jmp final
 
resultado2:
    mov dx, offset msg4
    mov ah, 9
    int 21h
    jmp final

final:

   
    printn ""
    printn ""
    print "presione para salir..."
    mov ah,0
    int 16h
    ret


msg db "tecnologico$"
msg2 db "gi$"

msg3 db "Si se encuentra$"
msg4 db "no se encuentra$"




capturas del programa en funcionamiento:






programa mensaje

programa que utiliza loop en emu8086.

el siguiente programa despliega el mensaje cuantas veces marque el usuario.

include "emu8086.inc"
org 100h

.data
pro db 2 dup (?) 

.code
llamar proc
    printn "" 
    print  "cuantas veces quiere repetir el mensaje: "
    call scan_num 
    mov pro[0],cl
    printn ""
    xor ax,ax
    add al,pro[0]

mensaje:
printn "mensaje"
loop mensaje
   
 
 
     
llamar endp

exit:
    printn ""
    printn ""
    print "presione para salir..."
    mov ah,0
    int 16h
    ret
define_print_string
define_print_num
define_print_num_uns
define_scan_num
end