Moved to correct board. This is no 'Random board' post
Okay, so. ASM, Assembly, x86 Assembly, x64 Assembly and FASM is all Assembly language. If you can code in any one of those, you are on a good start.
The difference is; ASM is a common term for x86-64 Assembly, same goes for only the word Assembly, if you do not specifies which one(86, 64) it applies for both. FASM is a ASM or Assembly assembler. It translates the Assembly instructions into machine code, or bytes/bits.
Like someone already replied to you in another topic, there are various Assembly "types", because anyone can make a Assembly assembler. Some are good, some are bad, some are like the others and so forth. Its like buying milk, there are plenty of companies that makes it, you have to find the one you like.
The various assemblers are FASM, MASM, NASM, TASM. And I am sure there are plenty more smaller ones.
MASM is microsoft's assembler and is a bit(rather much) difference from the others, but then again. There are many small differences, I would maybe suggest you don't go with MASM, simply because its the one standing out the most. On the other hand, its possibly the best documented one? Not sure, I am no Assembly coder myself, but I know a thing or two.
Cheers.