8085 programa para búsqueda lineal | conjunto 2

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para encontrar un número dado en la lista de 10 números, si lo encuentra, almacene 1 en la salida; de lo contrario, almacene 0 en la salida.

Ejemplo –

Suposición: datos que se encontrarán en 2040H, lista de números de 2050H a 2059H y salida en 2060H.

Algoritmo –

  1. Cargue el byte de datos que se buscará en el registro B y el contador en el registro D.
  2. Cargue el elemento inicial en el acumulador.
  3. Compara Acumulador y registro B.
  4. Si se establece el indicador cero, salte al punto 8 (ya que la instrucción CMP establece el indicador cero cuando ambos son iguales).
  5. Registro de decremento D
  6. Si D>0, tome el siguiente elemento en Acumulador y vaya al punto 3.
  7. Si D=0, esto significa que no se encontró el elemento, luego almacene 00H. Finaliza el programa.
  8. Almacene 01H como elemento encontrado. Finaliza el programa.

Programa –

Dirección Etiqueta Instrucción Comentario
2000H Datos LXI H, 2040H Cargar dirección de datos a buscar
2003H MOV B, M Almacenar datos para ser buscados en el registro B
2004H LXI H, 2050H Cargar la dirección inicial de la lista
2007H MVI D, 0AH Contador para 10 elementos
2009H SIGUIENTE MOV A, M Recuperar elemento de lista en Acumulador
200AH CMP B Comparar elemento con byte de datos
200BH PARADA JZ Saltar si se encuentra un byte de datos
200EH INXH Siguiente elemento de la lista
200FH DCR D Contador de decrementos
2010H SIGUIENTE Saltar a SIGUIENTE si D>0
2013H LXI H, 2060H Cargar dirección de salida
2016H MVI M, 00H Tienda 00H
2018H HLT Detener
2019H DETÉNGASE LXI H, 2060H Cargar dirección de salida
201CH MVI M, 01H Tienda 01H
201EH HLT Detener

Explicación –

  1. Uno por uno, todos los elementos se comparan con el byte de datos en el registro B
  2. Si se encuentra un elemento, el ciclo termina y se almacena 01H
  3. El bucle se ejecuta 10 veces
  4. Si al final de 10 iteraciones no se encuentra el byte de datos, se almacena 00H

Consulte el programa Set-1: 8085 para buscar un número en una array de n números

Publicación traducida automáticamente

Artículo escrito por aastha98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *