programa 8086 para hallar la media de n numeros

Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8086 para encontrar el promedio de n números de ocho bits.

Ejemplo –

Algoritmo –

  1. Asignar valor 500 en SI y 600 en DI
  2. Mover el contenido de [SI] en CL
  3. Mover 0000 en AX
  4. Mover el contenido de CL a BL
  5. Incrementa el valor de SI en 1
  6. Agregue los contenidos de AL y [SI]
  7. Añadir 00 a AH con acarreo anterior
  8. Incrementa el valor de SI en 1
  9. Disminuye el valor de CL en 1
  10. Si no se establece Zero Flag (ZF), vaya al paso 6; de lo contrario, vaya al paso 11
  11. Divide el contenido de AX por BL
  12. Mover el contenido de AX en [DI]
  13. detener el programa

Programa –

COMPENSAR MNEMOTÉCNICA COMENTARIO
400 MOV SI, 500 SI <- 500
403 MOV DI, 600 ED <- 600
406 HACHA MOV, 0000 AX = 0000
409 CL MOV, [SI] CL <- [SI] 40B MOV BL, CL BL <-CL 40D INC SI SI = SI + 1 40E AGREGAR AL, [SI] AL = AL + [SI] 410 ADC AH, 00 AH = AH + 00 + cy 412 INC SI SI = SI + 1 413 CL CL CL = CL – 1 415 JNZ 40E SALTAR si ZF = 0 417 DIV BL AX = AX / BL 419 MOV [ED], AX [DI] <-AX 41B HLT Deténgase

Explicación –

  1. MOV SI, 500 se usa para mover el desplazamiento 500 al índice inicial (SI).
  2. MOV DI, 600 se usa para mover el desplazamiento 600 al índice de destino (DI).
  3. MOV AX, 0000 se usa para mover los datos 0000 a AX.
  4. MOV CL, [SI] se usa para mover el contenido de [SI] a BL.
  5. MOV BL, CL se utiliza para copiar contenidos de CL a BL.
  6. INC SI se usa para incrementar el contenido de SI en 1.
  7. ADD AL, [SI] se usa para agregar contenidos de [SI] a AL.
  8. ADC AH, 00 se usa para 00 junto con cy anterior para AH.
  9. INC SI se usa para incrementar el contenido de SI en 1.
  10. DEC CL se utiliza para disminuir el contenido de CL en 1.
  11. JNZ 40E se usa para saltar al desplazamiento 40E si el valor de ZF = 0.
  12. DIV BL se utiliza para multiplicar el contenido de AX por BL.
  13. MOV [DI], AX se usa para mover el contenido de AX a [DI].
  14. HLT deja de ejecutar el programa y detiene cualquier ejecución posterior.

Publicación traducida automáticamente

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