SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: jaumegs en Martes 29 de Noviembre de 2005, 19:41

Título: Sintaxis Nasm
Publicado por: jaumegs en Martes 29 de Noviembre de 2005, 19:41
Buenas... bueno, me descargué el compilador nasm y tengo un pequeñito problema...

Alguien podria ponerme un ejemplo de un programa para este ensamblador? (directivas i tal...) para .exe) en windows.

GRACIAS.

P.D.- Bueno, elegí este ensamblador porque he leido por alli que es gratuito, esta bien, pero no he encontrado mucha información al respecto...

Y una pregunta personal... :rolleyes:
En vuestra opinión, cual es el mejor ensamblador?



SALUDOS!
Título: Re: Sintaxis Nasm
Publicado por: jaumegs en Martes 29 de Noviembre de 2005, 20:56
Bueno, ya está... :P
Encontre varios ejemplos, pero como que no me funcionaban, pense que no eran para nasm, asi que decepcionado he escrito aqui... pero ya he visto porque no me funcionaban... un error ortográfico... :rolleyes:

Bueno, por si a alguien le surje la misma duda que a mi, aqui les dejo como hacerlo

Para archivos .COM:

Código: Text
  1. ;******************************************************************************
  2. ;*                            .ASM                             *
  3. ;******************************************************************************
  4. ;* *
  5. ;* *
  6. ;* *
  7. ;* *
  8. ;******************************************************************************
  9.  
  10. ;------------------------------------------------------------------------------
  11. ; ARCHIVOS INCLUIDOS
  12. ;------------------------------------------------------------------------------
  13.  
  14. ;------------------------------------------------------------------------------
  15. ; INICIO DEL PROGRAMA
  16. ;------------------------------------------------------------------------------
  17.           org 100h
  18.  
  19. section .text
  20.  
  21. &#59; Aqui va el codigo
  22.  
  23. ;------------------------------------------------------------------------------
  24. ; SEGMENTO DE DATOS INICIALIZADOS
  25. ;------------------------------------------------------------------------------
  26.  
  27. section .data
  28.  
  29.          
  30.  
  31. ;------------------------------------------------------------------------------
  32. ; SEGMENTO DE DATOS NO INICIALIZADOS
  33. ;------------------------------------------------------------------------------
  34.  
  35. section .bss
  36.  
  37. ;------------------------------------------------------------------------------
  38. ; FIN DEL PROGRAMA
  39. ;------------------------------------------------------------------------------
  40.  
  41.   int 21h
  42.  
  43.   .exit
  44.   end
  45.  

Pra ensamblarlo se introduce el siguiente comando:

   nasm -f bin archivo.asm -o archivo.com



Para crear un ejecutable .EXE:
Código: Text
  1. ;******************************************************************************
  2. ;*                            .ASM                             *
  3. ;******************************************************************************
  4. ;* *
  5. ;* *
  6. ;* *
  7. ;* *
  8. ;******************************************************************************
  9.  
  10. ;------------------------------------------------------------------------------
  11. ; ARCHIVOS INCLUIDOS
  12. ;------------------------------------------------------------------------------
  13.  
  14. ;------------------------------------------------------------------------------
  15. ; INICIO DEL PROGRAMA
  16. ;------------------------------------------------------------------------------
  17.  
  18. segment codigo
  19. ..start:
  20.  
  21. &#59; Aqui va el codigo
  22.  
  23. ;------------------------------------------------------------------------------
  24. ; SEGMENTO DE DATOS
  25. ;------------------------------------------------------------------------------
  26.  
  27. segment datos
  28.  
  29.  
  30.  
  31. ;------------------------------------------------------------------------------
  32. ; SEGMENTO DE PILA
  33. ;------------------------------------------------------------------------------
  34.  
  35. section pila stack
  36.  
  37.   resb X  &#59; Reserva una pila de X bytes
  38.  

Y para ensamblarlo:

   nasm -f obj archivo.asm -o archivo.obj

y finalmente se linka el .obj con algun linker. Yo uso el tlink (el que viene con el tasm):

   tlink archivo.obj

Bueno, espero que le sirva a alguien ;)
Título: Re: Sintaxis Nasm
Publicado por: Eternal Idol en Martes 29 de Noviembre de 2005, 21:18
Igual eso no es para Windows como decis en el primer post, para ese Sistema Operativo te recomiendo: http://www.masm32.com/ (http://www.masm32.com/)

 :devil:
Título: Re: Sintaxis Nasm
Publicado por: jaumegs en Miércoles 30 de Noviembre de 2005, 00:52
Es multiplataforma, i va bastante bien. Y lo mas importante, gratuito...
Título: Re: Sintaxis Nasm
Publicado por: Eternal Idol en Miércoles 30 de Noviembre de 2005, 08:28
Estaba hablando del codigo que dejaste, ninguno es para Windows. MASM tambien es gratuito, FASM tambien ... practicamente cualquier ensamblador usado en estos dias es gratuito.  :devil:
Título: Re: Sintaxis Nasm
Publicado por: jaumegs en Miércoles 30 de Noviembre de 2005, 14:24
No son para windows :(

Pero si sin los que yo estoy usando :alien:
Título: Re: Sintaxis Nasm
Publicado por: Eternal Idol en Miércoles 30 de Noviembre de 2005, 15:03
Si lo aclare en su momento es porque tu primer mensaje dice claramente:

"Alguien podria ponerme un ejemplo de un programa para este ensamblador? (directivas i tal...) para .exe) en windows"

 :whistling:
Título: Re: Sintaxis Nasm
Publicado por: jaumegs en Miércoles 30 de Noviembre de 2005, 16:39
jeje OK

SALUDOS y gracias :kicking: