Как разобраться во всех этих синтаксисах ассемблера?
Лучше написать программу на С/С++, а потом с помощью опции "-S" можно превратить вывод в ассемблерный код и его изучать. Второй вариант - загнать полученную программу в отладчик и изучать код там. А писать сразу на чистом Ассемблере скорее всего и не потребуется никогда. Это раньше было популярно, во времена "640К памяти хватит на всё".
Тоже сейчас разбираюсь со всем этим. Все такое странное и непонятное. Но вот отрыла отличную книгу Столярова "Программирование на языке ассемблера NASM для ОС Unix". Там все очень просто и доступно разжевано. Советую. Ну а вообще сурсов с ответами на подобные вопросы много. Вот хорошая подборка книг: https://proglib.io/p/assembler-books/. Там и Столяров, и Калашников, и иже с ними. Все 2011 и 2014 года. Новее вообще не могу найти. К сожалению, у нас Ассемблер не пользуется такой популярностью, как хотелось бы :( Вещь ведь действительно нужная и интересная. Удачи на этом поприще!