Your dont "compile" asm. You "assemble" it, since assembly is already in assembly form.
Most popular assemblers are NASM, MASM, and FASM.
NASM and FASM are both freely available and have massive amounts of clear documentation. There are also people using FASM to write operating systems etc.
x86/x64 are just the targeted system architecture, assembly is very system dependent based on interrupts for the processor you are compiling on etc.
I suggest you read the documentation for either FASM or NASM.
http://flatassembler.net/phttp://www.nasm.us/