First step of building an executable is compiling (or assembling) object file from the source:
For nasm example:
$ nasm -f elf hello.asm
For gas example:
$ as -o hello.o hello.S
This makes hello.o object file.
hello.o
Second step is producing executable file itself from the object file by invoking linker:
$ ld -s -o hello hello.o
This will finally build hello executable.
hello
Hey, try to run it... Works? That's it. Pretty simple.