Oui il y a effectivement un langage assembleur pour chaque type d architecture de processeur (*86 , MIPS , PIC , etc ... ) .
Enfin pour etre plus precis , le language assembleur c est la demande directe a ton processeur d executer une instruction qui est codé en dure a l'interieur . Celon l architecture du proc , t auras pas les meme instructions codé a l'interieur et leur facon de s executer poura aussi varier .
Pour commencer avec ce language , je recommande vivement de te pencher sur l asm MIPS . Pourquoi , alors que ton PC a une archi *86 ?
Ba tout simplement parce que les instructions en MIPS sont de longueur fixe , ce qui n est pas le cas en *86 . Et crois moi sur parole , lorsque l on s exerce a coder ( et a debog ) , ba ca simplifie drolement la tache

.
Sinon pour des cours , je ne connais pas bien ceux du net mais une petite recherche google devrait te donner les bases .... Ensuite , comme un peu tout , il me semble indispensable d avoir un ( ou des ) bon bouquins sur le sujet .