Programa 8085 para encontrar el cuadrado de un número de 8 bits

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para encontrar el cuadrado de un número de 8 bits.

Ejemplo –

Suposición: las direcciones de los datos de entrada y salida son 2050 y 3050 respectivamente.

Enfoque: combine el contenido de los registros H y L, el contenido resultante se puede usar para apuntar indirectamente a la ubicación de la memoria y esa ubicación de la memoria se especifica mediante M. Para encontrar el cuadrado de cualquier número, siga sumando ese número en el acumulador A que inicialmente contiene 0 por ese número de veces cuyo cuadrado necesitamos encontrar.

Algoritmo –

  1. Asigne 20 al registro H, 50 al registro L y 00 al acumulador A
  2. Cargue el contenido de la ubicación de la memoria que está especificado por M en el registro B
  3. Agregue el contenido de M en el acumulador A y disminuya el valor de B en 01
  4. Verifique si B contiene 00, si es verdadero, almacene el valor de A en la ubicación de memoria 3050; de lo contrario, vaya al paso 3

Programa –

DIRECCIÓN DE MEMORIA MNEMOTÉCNICA COMENTARIO
2000 MVI H 20 H <- 20
2002 MVI L 50 L <- 50
2004 MVI A 00 A <- 00
2006 MOV B, M B <-M
2007 AGREGAME A <- A + M
2008 DCR B B <- B – 01
2009 JNZ 2007 Saltar si ZF = 0
200C STA 3050 M[3050] <- A
200F HLT FINAL

Explicación – Registros utilizados A, H, L, B y memoria indirecta M:

  1. MVI H 20 – inicializa el registro H con 20
  2. MVI L 50 – inicializa el registro L con 50
  3. MVI A 00 – inicializar el acumulador A con 00
  4. MOV B, M: mueve el contenido de la ubicación de la memoria que está indirectamente especificado por M en el registro B
  5. ADD M: agrega el contenido de la ubicación de la memoria que está indirectamente especificada por M en el acumulador A
  6. DCR B: decrementa el valor del registro B en 1
  7. JNZ 2007: salta a la ubicación de memoria 2007 si ZF = 0, es decir, el registro B no contiene 0
  8. STA 3050: almacena el valor de A en 3050
  9. HLT: deja de ejecutar el programa y detiene cualquier ejecución adicional

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 *