If you are on x64 Linux and get this:
ld: i386 architecture of input file `first.o' is incompatible with i386:x86-64 output
What you want to do is type this instead: nasm -f elf64 first.s
On another note, the link to intel's "command listing" has horrible CSS. If you hover over it, it takes up more space, which moved it to the next line with my browser width, making it impossible to click.