Programa 8085 para encontrar el valor mínimo del dígito en el número de 8 bits

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para encontrar el valor mínimo del dígito en el número de 8 bits.

Ejemplo: suponga que el número de 8 bits se almacena en la ubicación de memoria 2050 y el dígito de valor mínimo se almacena en la ubicación de memoria 3050.

Algoritmo –

  1. Cargue el contenido de la ubicación de memoria 2050 en el acumulador A.
  2. Mueva el contenido de A en el registro B.
  3. Realice la operación AND del contenido de A con 0F y almacene el resultado en A.
  4. Mueva el contenido de A en el registro C.
  5. Mueva el contenido de B en A.
  6. Invierta el contenido de A usando la instrucción RLC 4 veces.
  7. Realice la operación AND del contenido de A con 0F y almacene el resultado en A.
  8. Compare los contenidos de A y C con la ayuda de la instrucción CMP C.
  9. Verifique si la bandera de acarreo está configurada y luego salte a la ubicación de memoria 2013; de lo contrario, mueva el contenido de C en A. Vaya a la ubicación de memoria 2013.
  10. Almacene el valor de A en la ubicación de memoria 3050.

Nota: la instrucción CMP C compara el valor de A y C. Si A>C, el indicador de acarreo se restablece; de ​​lo contrario, se establece.

Programa –

DIRECCIÓN DE MEMORIA MNEMOTÉCNICA COMENTARIO
2000 LDA 2050 A <- M[2050]
2003 MOV B, A B <- A
2004 AÑO 0F A <- A (Y) 0F
2006 MOV C, A C <- A
2007 MOV A, B A <-B
2008 RLC Girar el contenido del acumulador 1 bit a la derecha sin llevar
2009 RLC Girar el contenido del acumulador 1 bit a la derecha sin llevar
200A RLC Girar el contenido del acumulador 1 bit a la derecha sin llevar
200B RLC Girar el contenido del acumulador 1 bit a la derecha sin llevar
200C AÑO 0F A <- A (Y) 0F
200E CMP C A-C
200F JC 2013 Saltar si CY = 1
2012 MOV A, C A <- C
2013 STA 3050 M[3050] <- A
2016 HLT FINAL

Explicación: los registros A, B y C se utilizan para fines generales.

  1. LDA 2050: carga el contenido de la ubicación de memoria 2050 en A.
  2. MOV B, A: mueve el contenido de A en B.
  3. ANI 0F: realiza la operación AND entre el contenido de A y el valor 0F.
  4. MOV C, A: mueve el contenido de A en C.
  5. MOV A, B: mueve el contenido de B en A.
  6. RLC: desplaza el contenido de A a la izquierda 1 bit sin acarreo. Use esta instrucción 4 veces para invertir el contenido de A.
  7. ANI 0F: realiza la operación AND entre el contenido de A y el valor 0F.
  8. CMP C: compare los contenidos de A, C y actualice el valor de la bandera de acarreo en consecuencia.
  9. JC 2013: salta a la ubicación de memoria 2013 si CY = 1.
  10. MOV A, C: mueve el contenido de C en A.
  11. STA 3050: almacena el contenido de A en la ubicación de memoria 3050.
  12. HLT: deja de ejecutar el programa y detiene cualquier ejecución posterior.

Publicación traducida automáticamente

Artículo escrito por AmishTandon 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 *