You are on page 1of 5

Arquitectura del Computador.

TEMA: BSQUEDA DE NOMBRES


Aranibar Pumacota Jos
06/12/16

1 BREVE RESUMEN DEL TEMA


Actualmente el programa realizado nos permitir buscar un determinado nombre que se
encuentran en una tabla.
El programa est dividido en dos partes: La primera donde indicamos la parte de datos que se
utilizar para el funcionamiento del programa, y la otra donde definimos el cdigo que nos
ayudar a realizar la bsqueda de nombres. Para realizar la bsqueda de nombres antes
debemos ingresarlos por medio de cdigo.

2 IMAGEN DEL PROGRAMA

Arquitectura del Computador.

Arquitectura del Computador.

3 CDIGO FUENTE DEL PROGRAMA


name "Busqueda de nombres"
pop di
.model small
mov nombre[di],0
.stack 64h
pop cx
.data
call ConvMayusculas
msj
db "Bienvenido a la busqueda de
call COMPARA_TABLA
nombres: $"
cmp ax,0
Ingresa db "Ingresa el nombre : $"
jz No_hay_@@
mtmet db "El tama",164,"o minimo debe
lea Dx,mSiNombre
ser 4 $"
mov ah,9
mNoNombre db "El nombre no se encuentra
int 21h
$"
mov ah,0
mSiNombre db "El nombre si se encuentra
int 16h
$"
jmp salir
mRepetir db "Press [Esc] para salir... Otra
tecla para continuar...$"
No_hay_@@:
mete label byte
lea Dx,mNoNombre
tmax db 9
mov ah,9
tmet db ?
int 21h
Nombre db 10 dup (0)
mov ah,7
tabla label byte ; label puede ser de tipo
int 21h
word, dword, near o far
db "SAUL",0,0,0,0
salir:
db "CARLOS",0,0,0,0,0
call CLS
db "LUIS",0,0,0,0
mov dx,0505H
db "JOSE",0,0,0,0
call cursor
db "KEVIN",0,0,0,0,0
lea dx,mRepetir
db "LEONARDO",0,0,0,0,0,0,0,0
mov ah,9
int 21h
.code
mov ah,0
mov ax,@data
int 16h
mov ds,ax
cmp ah,1
jz salir1
repite:
jmp repite
call CLS
call limpianombre
salir1:
mov dx,0512H
call CLS
call cursor
mov ah,4ch
lea dx,Ingresa ;
int 21h
mov ah,9
int 21h
e_tam:
lea dx,mete
call CLS
mov ah,10
mov dx,0512H
int 21h
call cursor
lea dx,mtmet
call CLS
mov ah,9
mov dx,0505H
int 21h
call cursor
mov ah,0
int 16h
mov ch,0
call CLS
mov cl,tmet
jmp repite
cmp tmet,4
jl e_tam
limpianombre proc
push cx
pusha
push cx
mov si,0
3

Arquitectura del Computador.

mov cx,10

mov ax,1
ret
COMPARA_TABLA endp

@@lazo0:mov [nombre+si],0
inc si
loop @@lazo0
popa
ret

comparabytes proc
mov ax,9
mul bl
mov cx,9
lea di,tabla
add di,ax
lea si,nombre
@@lazo1: mov ah,[si]
mov al,[di]
cmp ah,al
jnz e_cmpbs
inc si
inc di
loop @@lazo1
mov ax,1
ret
e_cmpbs:mov ax,0
ret
comparabytes endp
CLS PROC
NEAR
pusha
MOV
AX,0600H
;REQUEST
SCROLL SCREEN
MOV
BH,07H
;NORMAL
MOV
CX,0000H
;FROM
00,00
MOV
DX,184FH
;TO 24,79
INT
10H
;CALL BIOS
MOV
DX,0000
;PONE EL
CURSOR A FILA 00, COLUMNA 00
MOV
AH,02
;REQUEST
SET CURSOR
MOV
BH,00
;PAGE 10
INT
10H
;CALL BIOS
popa
RET
CLS ENDP
cursor proc near
mov ah,02h
mov bh,00
int 10h
ret
cursor endp
end

limpianombre endp
ConvMayusculas proc
mov di,0
s_Conv_Mayus:
mov al,nombre[di]
call a_Mayusculas
mov nombre[di],al
inc di
cmp di,cx
jnz s_Conv_Mayus
ret
ConvMayusculas endp
a_Mayusculas proc
cmp al,'a'
jl salir_Conv_Mayus
cmp al,'z'
jg salir_Conv_Mayus
sub al,20H
salir_Conv_Mayus:
ret
a_Mayusculas endp
COMPARA_TABLA proc
mov bx,0;Puntero interno dentro de la
tabla
lea si,tabla
mov ch,0
mov cl,[tmet]
lea di,nombre
r_cmp_tabla:
call comparabytes
cmp ax,1
jz hayNombre
inc bx
cmp bx,6
jnz r_cmp_tabla
mov ax,0
ret
hayNombre:

4 INSTRUCCIONES USADAS

Mov: Mover (Destino, Origen).


Call: llamado a subrutina (proc).
Lea: cargar direccin efectiva (Destino, Origen).
4

Arquitectura del Computador.

Int: interrupcin, interrumpe el programa actual, corre la subrutina de int.


Cmp: comparar los operandos, (Op1, Op2).
Jl: Saltar si es menor o salta si no es mayor o igual (JL dest).
Push: apilar en la pila (PUSH Fuente).
Pop: Desapila de la pila, (POP Dest).
Jz: saltar si es cero (JZ Dest).
Jmp: Saltar (JMP Dest).
Pusha: Apila los registros generales.
Inc: incrementar (INC Op).
Loop: genera un ciclo en el programa
Popa: desapila a los registros generales
Ret: Retorno de subrutina
Db: Reserva memoria para datos de tipo byte (8 bits).
Jnz: Salto condicional.
Jg: salto condicional, pero se toma en cuenta el signo.
Sub: Resta.
Mul: Multiplicacin.
Add: Suma.

5 EMPRESAS, INSTITUCIONES U ORGANIZACIONES A LAS CUALES PODER


OFRECER EL PROGRAMA
El presente programa implementado podra ser til para las siguientes empresas:
http://www.aqplink.com/ :
o Empresa de turismo.
o Arequipa.
http://paginas-web-para-pymes.blogspot.pe/
o Empresa de venta de pginas web.
o Lima

You might also like