Я думаю что начинать с низкоуровневых языков не нужно. Потому что они очень сложные. Лучше начать с легких высокоуровневых Python например.
Если сравнить одну и туже программу, Hello word!. На Python, C++ и ассемблере
Python:
print 'Hello word!!!'
С++:
#include <iostream>
int main()
{
std::cout << "Hello, World!" << std::endl;
return 0;
}
Ассемблер:
SECTION .data
msg: db "Hello, world",10
len: equ $-msg
SECTION .text
global _start
_start: mov edx, len
mov ecx, msg
mov ebx, 1 ; stdout
mov eax, 4 ; write(2)
int 0x80
mov ebx, 0
mov eax, 1 ; exit(2)
int 0x80
А теперь выбераем что легче будет учить сначала.
Ну а потом учим что нибудь посложнее C++ например.