Programa 8085 para mover bloques de bits desde la ubicación de origen a una ubicación de destino

Problema : escriba un programa para mover bloques de bits desde la ubicación de origen a partir de 2500 a la ubicación de destino a partir de 2600 , donde el tamaño de los bloques es de 05 bytes.

Ejemplo –

Algoritmo –

  1. Cargue el par de registros HL con la dirección 2500H
  2. Cargue el par de registros DE con la dirección 2600H
  3. Mueva el contenido en la ubicación de la memoria al acumulador
  4. Almacene el contenido del acumulador en la memoria señalada por DE
  5. Incrementa el valor del par de registros HL y DE en 1
  6. Decrementa el valor del registro C en 1
  7. Si el indicador cero no es igual a 1, vaya al paso 3
  8. Deténgase

Programa –

Memoria Mnemotécnica operandos Comentario
2000 IMV C, 05 [C] <- 05
2002 LXI alto, 2500 [HL] <- 2500
2005 LXI D, 2600 [ES] <- 2600
2008 MOVIMIENTO SOY [A] <- [[HL]]
2009 STAX D [A] -> [[DE]]
200A INX H [HL] <- [HL] + 1
200B INX D [DE] <- [DE] + 1
200C RDC C [C] <- [C] – 1
200D JNZ 2008 Saltar si no cero a 2008
2010 HLT Deténgase

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

  1. MOV se utiliza para transferir los datos de la memoria al acumulador (1 byte)
  2. LXI se usa para cargar el par de registros inmediatamente usando una dirección de 16 bits (instrucción de 3 bytes)
  3. MVI se utiliza para mover datos inmediatamente a cualquiera de los registros (2 bytes)
  4. STAX se usa para almacenar el acumulador en un par de registros indirectamente (instrucción de 3 bytes)
  5. DCR se utiliza para disminuir el registro en 1 (instrucción de 1 byte)
  6. INX se usa para aumentar el par de registros en 1 (instrucción de 1 byte)
  7. JNZ se usa para saltar, si no es cero, a una ubicación de memoria dada (instrucción de 3 bytes)
  8. 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 *