Programa 8085 para sumar números 2-BCD

Problema : escriba un programa para sumar números de 2 BCD donde la dirección inicial es 2000 y los números se almacenan en las direcciones de memoria 2500 y 2501 y almacena la suma en 2502 y la lleva a la dirección de memoria 2503 .

Ejemplo –

Algoritmo –

  1. Cargue 00H en un registro (para llevar)
  2. Cargar contenido de la memoria en el par de registros
  3. Mover contenido del registro L al acumulador
  4. Agregar contenido del registro H con acumulador
  5. Agregue 06H si la suma es mayor que 9 o el acarreo auxiliar no es cero
  6. Si la bandera de acarreo no es igual a 1, vaya al paso 8
  7. Incrementar el registro de acarreo en 1
  8. Almacene el contenido del acumulador en la memoria
  9. Mover contenido del registro de acarreo al acumulador
  10. Almacene el contenido del acumulador en la memoria
  11. Deténgase

Programa –

Memoria Mnemotécnica operandos Comentario
2000 IMV C, 00H [C] <- 00H, llevar
2002 LHLD [2500] [HL] <- [2500]
2005 MOVIMIENTO A, L [A] <-[I]
2006 AGREGAR H [A] <- [A] + [H]
2007 DAA Suma 06 si suma > 9 o AC = 1
2008 JNC 200C Salta si no lleva
200B EUR C [C] <- [C] + 1
200C ESTA [2502] [A] -> [2502], suma
200F MOVIMIENTO A, C [A] <- [C]
2010 ESTA [2503] [A] -> [2503], llevar
2013 HLT Deténgase

Explicación: los registros A, C, H, L se utilizan para fines generales

  1. MVI se utiliza para mover datos inmediatamente a cualquiera de los registros (2 bytes)
  2. LHLD se usa para cargar el par de registros directamente usando una dirección de 16 bits (instrucción de 3 bytes)
  3. MOV se utiliza para transferir los datos de la memoria al acumulador (1 byte)
  4. ADD se usa para agregar acumulador con cualquiera de los registros (instrucción de 1 byte)
  5. STA se utiliza para almacenar datos del acumulador en la dirección de memoria (instrucción de 3 bytes)
  6. DAA se usa para verificar si la suma> 9 o AC = 1 agrega 06 (instrucción de 1 byte)
  7. JNC se usa para saltar si no se lleva a la ubicación de memoria dada (instrucción de 3 bytes)
  8. INR se usa para aumentar el registro dado en 1 (instrucción de 1 byte)
  9. HLT se utiliza para detener el programa

Publicación traducida automáticamente

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