Programa 8086 para encontrar la suma de números pares en una serie dada

Problema: escriba un programa en el microprocesador 8086 para averiguar la suma de la serie de números pares, donde los números se almacenan desde el inicio del desplazamiento 500 y almacenan el resultado en el desplazamiento 600.

Ejemplo –

Algoritmo –

  1. Asignar 500 a SI
  2. Cargue datos del desplazamiento SI al registro CL (conteo) y asigne 00 al registro CH inc. SI por 1
  3. Cargue los datos del desplazamiento SI y aplique TEST con 01, si el resultado no es cero, salte al paso 5
  4. Agregue los datos de compensación con el registro AL
  5. Aumentar compensación en 1
  6. BUCLE al paso 3
  7. Almacene el resultado (contenido del registro AL) para compensar 600
  8. Deténgase

Programa –

DIRECCIÓN DE MEMORIA MNEMOTÉCNICA COMENTARIO
400 MOV SI, 500 SI<-500
403 CL MOV, [SI] CL<-[SI]
405 INC SI SI<-SI+1
406 CA MOV, 00 CH<-00
408 MOV AL, 00 AL<-00
40A MOV BL, [SI] BL<-[SI]
40C PRUEBA BL, 01 BL Y 01
40F JNZ 413 SALTAR SI NO CERO
411 AÑADIR AL, BL AL<-AL+BL
413 INC SI SI<-SI+1
414 BUCLE 40A SALTAR A 40A SI CX NO ES CERO
416 MOV [600], AL AL->[600]
41A HLT FINAL

Explicación –

  1. MOV SI, 500: asignar 500 a SI
  2. MOV CL, [SI]: cargar datos desde el desplazamiento SI al registro CL
  3. INC SI: aumenta el valor de SI en 1
  4. MOV CH, 00: asigna 00 para registrar CH
  5. MOV AL, 00: asignar 00 para registrar AL
  6. MOV BL, [SI]: cargar datos desde el desplazamiento SI al registro BL
  7. PRUEBA BL, 01: Y registra BL con 01
  8. JNZ 413: salta a la dirección 413 si no es cero
  9. ADD AL, BL: agrega contenido del registro AL y BL
  10. INC SI: aumenta el valor de SI en 1
  11. LOOP 40A: salta a 40A si CX no es cero y CX=CX-1
  12. MOV [600], AL: almacena el valor del registro AL para compensar 600
  13. HL: fin.

Consulte el programa 8086 para encontrar la suma de números impares en una serie dada

Publicación traducida automáticamente

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