Programa 8086 para encontrar la suma de dígitos de un número de 8 bits

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8086 para encontrar la suma de dígitos de un número de 8 bits usando una operación de 8 bits.

Ejemplo: suponga que el número de 8 bits se almacena en la ubicación de memoria 2050.

Suposiciones: las direcciones de los datos de entrada y los datos de salida son 2050 y 2051 respectivamente.

Algoritmo –

  1. Cargue el contenido de la ubicación de memoria 2050 en el registro AL
  2. Copie el contenido del registro AL para registrar AH
  3. Asigne 0004 al par de registros CX
  4. Realice la operación AND en el contenido de AL con 0F y almacene el resultado en AL
  5. Gire el contenido de AH ejecutando la instrucción ROL usando CX
  6. Realice la operación AND en el contenido de AH con 0F y almacene el resultado en AH
  7. Agregue contenido AL y AH y almacene el resultado en AL
  8. Almacene el contenido de AL en la ubicación de memoria 2051

Programa –

Dirección de memoria Mnemotécnica Comentarios
400 MOV AL, [2050] AL<-[2050]
404 MOV AH, AL AH<-AL
406 MOV CX, 0004 CX <- 0004
409 Y AL, 0F AL <- AL & 0F
40B ROL AH, CX Rotar el contenido de AH a la izquierda por 4 bits (valor de CX)
40D Y AH, 0F AH <- AH y 0F
40F AGREGAR AL, AH AL<-AL+AH
411 MOV [2051], AL [2051]<-AL
415 HLT Detener ejecución

Explicación –

  1. MOV AL, [2050]: carga el contenido de la ubicación de memoria 2050 en AL
  2. MOV AH, AL: copiar contenido del registro AL al registro AH
  3. MOV CX, 0004: asigna 0004 al par de registros CX
  4. AND AL, 0F: realiza la operación AND en el contenido de AL con 0F y almacena el resultado en AL
  5. ROL AH, CX: rota el contenido del registro AH a la izquierda por 4 bits, es decir, el valor del par de registros CX
  6. AND AH, 0F: realiza la operación AND en el contenido de AH con 0F y almacena el resultado en AH
  7. AGREGAR AL, AH: agregue contenido AL y AH y almacene el resultado en AL
  8. MOV [2051], AL: almacena el contenido de AL en la dirección de memoria 2051
  9. HLT: deja de ejecutar el programa

Publicación traducida automáticamente

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