Programa 8085 para sumar tres números de 16 bits almacenados en registros

Problema: escriba un programa en lenguaje ensamblador para sumar tres números de 16 bits almacenados en el registro HL, DE, BC y almacene el resultado en DE con un número mínimo de instrucciones.

Ejemplo –

Suposiciones –

  1. Los números que se agregarán ya están almacenados en el registro HL, DE, BC
  2. Los números almacenados en el registro son tales que el resultado final no debe ser mayor que FFFF

DAD D realiza la siguiente tarea:

  H <- H + D 
  L <- L + E 

La instrucción DAD toma un argumento y ese argumento puede ser el registro B, D, H o SP La instrucción XCHG intercambia el contenido del registro D con H y E con L

Algoritmo –

  1. Agregue el contenido del registro DE en HL y almacene el resultado en HL con la ayuda de la instrucción DAD
  2. Mover el contenido del registro B en D y C en E
  3. Repita el paso 1
  4. Use la instrucción XCHG para intercambiar el contenido de DE con HL. Obtendremos el resultado en DE

Programa –

DIRECCIÓN DE MEMORIA MNEMOTÉCNICA COMENTARIO
2000 PAPÁ D H <- H + D, L <- L + E
2001 MOV D, B D <-B
2002 MOVER E, C mi <- do
2003 PAPÁ D H <- H + D, L <- L + E
2004 XCHG Intercambiar contenido de HL con DE
2005 HLT FINAL

Explicación –

  1. DAD D: agrega el contenido del registro D en H y el registro E en L y almacena el resultado en HL
  2. MOV D, B – mueve el valor del registro B en el registro D
  3. MOV E, C mueve el valor del registro C en el registro E
  4. Igual que el paso 1
  5. XCHG: intercambia el contenido del registro H con el registro D y L con E.
  6. 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 *