fork download
  1. .MODEL SMALL
  2. .DATA
  3. VAl1 DB ?
  4. NL1 DB 0AH,0DH,'ENTER NO:','$'
  5. NL2 DB 0AH,0DH,'IT IS NOT PRIME','$'
  6. NL3 DB 0AH,0DH,'IT IS PRIME','$'
  7. ;se definen las cadenas de caracteres
  8.  
  9. .CODE
  10. MAIN PROC
  11.  
  12. MOV AX,@DATA;se coloca la direccion de segmento de datos
  13. MOV DS,AX;se guarda la direccion del segmento de datos en ds
  14.  
  15. LEA DX,NL1;se garda la direccion del puntero nl1
  16. MOV AH,09H;desplega en pantalla
  17. INT 21H;intrrupcion vuelve al dos
  18.  
  19. MOV AH,01H;pide una entrada
  20. INT 21H;interrupcion vuelve al dos
  21. SUB AL,30H;se le resta 30h para converti el caracter a un numero
  22. MOV VAL1,AL; copia el numero a la variable val1
  23.  
  24. MOV AH,00; limpia a AH
  25.  
  26. MOV CL,2;copia 2 en cl
  27. DIV CL;divide entre cl al
  28. MOV CL,AL;mueve el cociente de la vision entre 2
  29.  
  30. LBL1:
  31. MOV AH,00;limpia ah
  32. MOV AL,VAL1;copia val1 en ah
  33. DIV CL;divide el nuero ente el valor de cl
  34. CMP AH,00;compara si el residuo es 0
  35. JZ LBL2;salta si la divisien entre 2 es entera
  36. DEC CL;decrementa el valor de cl
  37. CMP CL,1;compara cl con 1
  38. JNE LBL1;si cl no es 1 salta a LBL1
  39. JMP LBL3;si cl es 1 salta a LBL3
  40.  
  41. LBL2:
  42.  
  43. MOV AH,09H;funcion 09 para imprimir en pantalla
  44. LEA DX,NL2;mueve a dx la direccion de la cadena de caracteres a imprimir
  45. INT 21H; interrupcion al dos
  46. JMP EXIT ; salto a salida
  47.  
  48. LBL3:
  49. MOV AH,09H;funcion 09 para imprimir en pantalla
  50. LEA DX,NL3;mueve a dx la direccion de la cadena de caracteres a imprimir
  51. INT 21H;interrupcion al dos
  52.  
  53. EXIT:
  54. MOV AH,4CH; 4Ch es la función del DOS para terminar la
  55. ; ejecución de un programa
  56. INT 21H; interrupcion al dos
  57.  
  58. MAIN ENDP;termina el programa
  59. END MAIN;fin del main
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.s: Assembler messages:
prog.s:0: Warning: end of file not at end of a line; newline inserted
prog.s:1: Error: unknown pseudo-op: `.model'
prog.s:3: Error: no such instruction: `val1 DB?'
prog.s:4: Error: no such instruction: `nl1 DB 0AH,0DH,69NTER NO:44$10NL2 DB 0AH,0DH,73T IS NOT PRIME44$10NL3 DB 0AH,0DH,73T IS PRIME44$10'
prog.s:4: Error: no such instruction: `se definen las cadenas de caracteres'
prog.s:6: Error: unknown pseudo-op: `.code'
prog.s:7: Error: no such instruction: `main PROC'
prog.s:9: Error: invalid char '@' beginning operand 2 `@DATA'
prog.s:9: Error: no such instruction: `se coloca la direccion de segmento de datos'
prog.s:10: Error: too many memory references for `mov'
prog.s:10: Error: no such instruction: `se guarda la direccion del segmento de datos en ds'
prog.s:12: Error: too many memory references for `lea'
prog.s:12: Error: no such instruction: `se garda la direccion del puntero nl1'
prog.s:13: Error: too many memory references for `mov'
prog.s:13: Error: no such instruction: `desplega en pantalla'
prog.s:14: Error: junk `H' after expression
prog.s:14: Error: suffix or operands invalid for `int'
prog.s:14: Error: no such instruction: `intrrupcion vuelve al dos'
prog.s:16: Error: too many memory references for `mov'
prog.s:16: Error: no such instruction: `pide una entrada'
prog.s:17: Error: junk `H' after expression
prog.s:17: Error: suffix or operands invalid for `int'
prog.s:17: Error: no such instruction: `interrupcion vuelve al dos'
prog.s:18: Error: too many memory references for `sub'
prog.s:18: Error: no such instruction: `se le resta 30h para converti el caracter a un numero'
prog.s:19: Error: too many memory references for `mov'
prog.s:19: Error: no such instruction: `copia el numero a la variable val1'
prog.s:21: Error: too many memory references for `mov'
prog.s:21: Error: no such instruction: `limpia a AH'
prog.s:23: Error: too many memory references for `mov'
prog.s:23: Error: no such instruction: `copia 2 en cl'
prog.s:24: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
prog.s:24: Error: no such instruction: `divide entre cl al'
prog.s:25: Error: too many memory references for `mov'
prog.s:25: Error: no such instruction: `mueve el cociente de la vision entre 2'
prog.s:28: Error: too many memory references for `mov'
prog.s:28: Error: no such instruction: `limpia ah'
prog.s:29: Error: too many memory references for `mov'
prog.s:29: Error: no such instruction: `copia val1 en ah'
prog.s:30: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
prog.s:30: Error: no such instruction: `divide el nuero ente el valor de cl'
prog.s:31: Error: too many memory references for `cmp'
prog.s:31: Error: no such instruction: `compara si el residuo es 0'
prog.s:32: Error: no such instruction: `salta si la divisien entre 2 es entera'
prog.s:33: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
prog.s:33: Error: no such instruction: `decrementa el valor de cl'
prog.s:34: Error: too many memory references for `cmp'
prog.s:34: Error: no such instruction: `compara cl con 1'
prog.s:35: Error: no such instruction: `si cl no es 1 salta a LBL1'
prog.s:36: Error: no such instruction: `si cl es 1 salta a LBL3'
prog.s:40: Error: too many memory references for `mov'
prog.s:40: Error: no such instruction: `funcion 09 para imprimir en pantalla'
prog.s:41: Error: too many memory references for `lea'
prog.s:41: Error: no such instruction: `mueve a dx la direccion de la cadena de caracteres a imprimir'
prog.s:42: Error: junk `H' after expression
prog.s:42: Error: suffix or operands invalid for `int'
prog.s:42: Error: no such instruction: `interrupcion al dos'
prog.s:43: Error: no such instruction: `salto a salida'
prog.s:46: Error: too many memory references for `mov'
prog.s:46: Error: no such instruction: `funcion 09 para imprimir en pantalla'
prog.s:47: Error: too many memory references for `lea'
prog.s:47: Error: no such instruction: `mueve a dx la direccion de la cadena de caracteres a imprimir'
prog.s:48: Error: junk `H' after expression
prog.s:48: Error: suffix or operands invalid for `int'
prog.s:48: Error: no such instruction: `interrupcion al dos'
prog.s:51: Error: too many memory references for `mov'
prog.s:51: Error: junk at end of line, first unrecognized character is `4'
prog.s:52: Error: invalid character (0xc3) in mnemonic
prog.s:53: Error: junk `H' after expression
prog.s:53: Error: suffix or operands invalid for `int'
prog.s:53: Error: no such instruction: `interrupcion al dos'
prog.s:55: Error: no such instruction: `main ENDP'
prog.s:55: Error: no such instruction: `termina el programa'
prog.s:56: Error: no such instruction: `end MAIN'
prog.s:56: Error: no such instruction: `fin del main'
stdout
Standard output is empty