В том-то и прикол, что сам по себе Ассемблер - весьма простой язык, самого низкого уровня.
Есть вещи сложные - тяжелые для понимания, есть вещи трудные - тяжелые для выполнения. Ассемблер - это второе. Нужно читать много документации по платформе, разбираться как работает чип на низком уровне, знать нюансы работы с портами, с регистрами чтобы оптимизировать код.
Большинство драйверов уже давно уехали в C, скоро на питонах и nodejs их писать начнут (шутка. или нет.). Поэтому учить ассемблер профессионально - при написании компиляторов, embedded код - контроллеры, низкоуровневые функции. Отдельные ассемблерные вставки сейчас редко могут выиграть от тех же вставок на C++.