Programa 8086 para agregar el contenido de un segmento a otro segmento

Problema: escriba un programa para agregar el contenido de la ubicación de memoria 2000 : 0500 con el contenido de la ubicación de memoria 3000 : 0600 y almacene el resultado en la ubicación de memoria 5000 : 0700 .

Ejemplo –

Algoritmo –

  1. Mover 2000 al registro CX
  2. Mover CX al segmento DS (ahora estamos en el segmento de datos 2000)
  3. Mover el valor de 500 al registro AX
  4. Mover 3000 al registro CX
  5. Mover CX al segmento DS (ahora estamos en el segmento de datos 3000)
  6. Agregue valor de AX (acumulador) con valor en la memoria 600
  7. Mover 5000 al registro CX
  8. Mover CX al segmento ES (ahora estamos en 5000 segmentos adicionales)
  9. Mueva el contenido de AX a la ubicación de memoria 700
  10. Deténgase

Programa –

Memoria Mnemotécnica operandos Comentario
1000 MOVIMIENTO CX, 2000 [CX] <-2000
1004 MOVIMIENTO DS, CX [DS] <- [CX]
1006 MOVIMIENTO HACHA, [500] [EJE] <- [500]
100A MOVIMIENTO CX, 3000 [CX] <- 3000
100E MOVIMIENTO DS, CX [DS] <- [CX]
1010 AGREGAR HACHA, [600] [EJE] <- [EJE] + [600]
1014 MOVIMIENTO CX, 5000 [CX] <- 5000
1018 MOVIMIENTO ES, CX [ES] <- [CX]
101A MOVIMIENTO [700], HACHA [700] <- [AX] RESULTADO
101E HLT Deténgase

Explicación –

Los registros utilizan AX, CX para fines generales.
Los segmentos utilizaron DS, ES para cambiar los segmentos.
MOV se usa para transferir los datos
ADD se usa para agregar
HLT se usa 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 *