Bueno, ya está...
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...
Bueno, por si a alguien le surje la misma duda que a mi, aqui les dejo como hacerlo
Para archivos .COM:
;******************************************************************************
;* .ASM *
;******************************************************************************
;* *
;* *
;* *
;* *
;******************************************************************************
;------------------------------------------------------------------------------
; ARCHIVOS INCLUIDOS
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
; INICIO DEL PROGRAMA
;------------------------------------------------------------------------------
org 100h
section .text
; Aqui va el codigo
;------------------------------------------------------------------------------
; SEGMENTO DE DATOS INICIALIZADOS
;------------------------------------------------------------------------------
section .data
;------------------------------------------------------------------------------
; SEGMENTO DE DATOS NO INICIALIZADOS
;------------------------------------------------------------------------------
section .bss
;------------------------------------------------------------------------------
; FIN DEL PROGRAMA
;------------------------------------------------------------------------------
int 21h
.exit
end
Pra ensamblarlo se introduce el siguiente comando:
nasm -f bin archivo.asm -o archivo.com
Para crear un ejecutable .EXE:
;******************************************************************************
;* .ASM *
;******************************************************************************
;* *
;* *
;* *
;* *
;******************************************************************************
;------------------------------------------------------------------------------
; ARCHIVOS INCLUIDOS
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
; INICIO DEL PROGRAMA
;------------------------------------------------------------------------------
segment codigo
..start:
; Aqui va el codigo
;------------------------------------------------------------------------------
; SEGMENTO DE DATOS
;------------------------------------------------------------------------------
segment datos
;------------------------------------------------------------------------------
; SEGMENTO DE PILA
;------------------------------------------------------------------------------
section pila stack
resb X ; Reserva una pila de X bytes
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