Jeśli chodzi o Assembler to możesz trochę podpatrzeć i przyuczyć się np. z tych stron:
http://parzych.net/2010/06/assembler-pigulka-najwazniejsze-komendy-rejestry-przyklady/
https://www2.southeastern.edu/Academics/Faculty/kyang/2009/Fall/CMPS293&290/ClassNotes/CMPS293&290ClassNotesChap01.pdf
Ten pierwszy link jest na przykładzie assembler'a MASM, ale równie dobrze możesz używać NASM lub innych.
Powienieneś też nauczyć się podstawowych pojęć związanych z wytwarzaniem oprogramowania takich jak:
- stos
- rejestry
- systemy liczbowe
- podstawowe instrukcje (później ew. bardziej zaawansowane instrukcje, itp.), takie jak: POP, PUSH, MOV, ADD, DIV, SUB, IDIV, MUL, itp.
- inne (potrzebne, by poznać lepiej działanie procesora i ogólnie komputera oraz wytwarzać lepsze jakościowo oprogramowanie)