Изучить С или другой язык с компиляцией в машинный код, писать программы и смотреть, во что они компилируются (например, с помощью dumpbin /DISASM в командной строке Visual Studio: https://docs.microsoft.com/en-us/cpp/build/reference/disasm?view=vs-2017).
Visual Studio умеет конечно отображать машинный код и для C# (Отладка - Окна - Дизассемблированный код), но так будет сложновать изучать, потому что между C# и машинным кодом происходит промежуточное преобразование CLR, и вся схема намного сложнее.