Assembly Language (x64)
Official References
These manuals will tell you everything you need about acceptable operand combinations and encodings of instructions. Not the best place if you're just starting out, but you should get used to it quickly if you don't want to be asking useless questions online.
Since you get access to all the CPU registers and program memory in assembly, there's some conventions you need to abide to in order for your program to work on your target platform, e.g. calling conventions that dictate in which order the registers are to be filled when calling a function, or where to store return values etc.
System V is used by Linux. Don't ask about Windows.
Personal References
NASM - Netwide Assembler
Linux / Windows / MacOSDe facto standard x64 assembler. Simple, reliable and widespread, but not fun to use for complex tasks.
In comparison to fasm, its "powerful preprocessor" is a farce. It may be enough to suit your specific use case, but I found it to be severely limiting and unflexible: you get what you were promised, a preprocessor that pastes text, not a full macro programming language. Think of NASM as the ANSI C of assembly languages.
fasm - flat assembler
Linux / WindowsAdvanced assembler, recommended for coders with solid understanding of assembly. Extremely potent but quite peculiar to learn.
There are 2 flavours of the flat assembler: fasm/fasm1 and fasmg/fasm2.
Unless you have very specific reasons to use fasm1, consider fasm2 for any
future endeavours. fasm2 is a full-fledged assembler built on top of fasmg,
a macro-based generic assembly engine. It bears immense expressive power
comparable to Common Lisp macro system, essentially letting you create your
own assembly
language. I'm not a fan of complete individualism, especially for a
language with such a low userbase, so my suggestion is fasm2: a drop-in,
just-works assembler for x64 that lets you live your life with macros.
There's also the forum, which holds 20 years worth of assembly programming around the globe. Be aware that there will always only be limited resources to look up when in trouble. The forum's users are very eager to help and competent, but in the long run, you're quite on your own here.
I intend to start a YouTube channel when I graduate this year, on which there will be concrete examples and tutorials on the fasmg macro language.