nie tylko. Asemblera uczysz się głównie po to, by zaliczyć semestr na studiach
a tak całkiem na poważnie, to to co powiedział kolega + programowanie mikroukładów (np. DSM-51) i programowanie zadań, które są wykonywane w pętli i mogą zająć więcej czasu, gdy są napisane wysokopoziomowo zamiast niskopoziomowo. Z tymi OSami też troszkę przekłamane, bo jedynie, gdzie w systemach się używa asma to przy pisaniu bootloadera (jeśli nie chcesz np GRUBa i wolisz własny), sterownikach i jakichś tam prostych kernelach (chociaż do tego wszystkiego zazwyczaj używa się C, który można invoke'ować bezpośrednio z asma). Jak chcesz się uczyć asemblera to polecam zastanowić się jakiego tak na prawdę asemblera chcesz się uczyć, a dopiero potem siadać i kuć. Asembler 8051 i pokrewnych wygląda inaczej, asembler x86 wygląda inaczej, asembler x64 wygląda inaczej (np. zamiast rejestru EAX masz RAX, tzn część bardziej znacząca o długości 32-bit + część mniej znacząca EAX, też 32-bit), asembler ARMów też wygląda nieco inaczej. Oczywiście nie zawsze są to jakieś drastyczne różnice, ale wynikają one z platformy i architektury użytego mikroprocesora.
Masz też możliwość nauki HLA (eng. High Level Assembly, Asembler wysokiego poziomu), który bezpośrednio umożliwia użycie pętli czy innych 'wysokopoziomowych' konstrukcji.