8086 programa para imprimir la tabla de enteros de entrada

Problema: escriba un programa en lenguaje ensamblador en 8086 para imprimir la tabla de enteros de entrada. 

Suposición: suponga que el número ingresado está en la ubicación de memoria 500 y la tabla se imprimirá desde la ubicación inicial 600 hasta la 609 en hexadecimal. 

Ejemplo – 

Algoritmo – 

  1. Cargue la dirección del número de entrada en SI y también cargue la dirección donde queremos salida en DI. 
     
  2. Almacene 00 en el registro CH. 
     
  3. Incremente el valor de CH en 1 y mueva el contenido de [SI] al registro AH. 
     
  4. Multiplique el contenido de AL y CH y guárdelo en AX y luego mueva el contenido de AL a [DI], luego incremente el valor de DI en 1. 
     
  5. Compare el valor de CH y 0A, si no es igual, vaya al paso número 3; de lo contrario, detenga el programa. 
     

Programa – 

DIRECCIÓN MNEMOTÉCNICA COMENTARIOS
400 MOV SI, 500 SI<-500
403 MOV DI, 600 DI<-600
406 CA MOV, 00 CH<-00
408 INC CH CH<-CH+1
409 MOV AL, [SI] AL<-[SI]
40B MUL CH AX<-AL*CH
40D MOV [DI], AL [DI]<-AL
40F INC DI DI<-DI+1
410 CH CMP, 0A CH-0A
413 JNZ 408 saltar a la dirección 408 si el indicador cero es 0
415 HLT Termina el programa

Explicación – 

  1. MOV SI, 500: carga 500 en SI. 
     
  2. MOV DI, 600: carga 600 en DI. 
     
  3. MOV CH, 00: carga 00 datos en el registro CH. 
     
  4. INC CH: incrementa el valor dentro del registro CH en 1. 
     
  5. MOV AL, SI: mueve el contenido de SI al registro AL. 
     
  6. MUL CH: multiplica los contenidos de los registros AL y CH y los almacena en el registro AX. 
     
  7. MOV [DI], AL: mueve el contenido del registro AL a [DI]. 
     
  8. INC DI: incrementa el valor de DI en 1. 
     
  9. CMP CH, 0A: resta datos dentro del registro CH y 0A. 
     
  10. JNZ 408: salte a la dirección 408 si el indicador cero es 0. 
     
  11. HLT: terminar el programa. 

Publicación traducida automáticamente

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