Ассемблер для чего? На интел есть x86 (32-битная) и x64 (64-битная) архитектуры, современные процессоры до сих пор должны выполнять и 8086 код (16 бит). Асм под винду - то ещё занятие, кмк, да и польза практическая сомнительна.
Если что - современные ассемблеры - их немного актуальных осталось. В линуксе есть gas (at&t синтаксис), и win/linux nasm (интел синтаксис, более человеческий), для винды в Visual Studio есть продолжатель masm (в т.ч. x64).
По NASM есть
книжка Столярова бесплатная, описывается ассемблер x86 под линукс 32-разрядный.
Но с практической точки зрения лучше потратьте время на изучение какого-нибудь AVR, MSP403 или PIC - он существенно проще, куча реальных применений до сих пор, и сама архитектура простая. Тестироваться на симуляторе или дешевой Arduino. Потом можно поучить ARM для кортексов, тоже какая-никакая практическая польза - см.
https://habrahabr.ru/post/274541/ . Хотя уже начиная с ARM программируют в основном на Си, хороший курс вот -
https://www.edx.org/course/embedded-systems-shape-...