Для небольших кусочков кода, таких как внутренние циклы, это обычно делается с помощью встроенной сборки. И это определенно не специфично для Microsoft! (GCC и почти все современные компиляторы тоже поддерживают его, хотя и с разными вариациями синтаксиса).
Для больших кусков кода (например, загрузчик для операционной системы) он обычно помещается в отдельный исходный файл (так же, как вы используете несколько исходных файлов на каждом языке), а затем связывается с остальными программы с использованием компоновщика.
Имейте в виду, что сборка в основном используется в настоящее время только для ОС, потому что компиляторы теперь достаточно хороши, и это мало помогает в использовании их для внутренних циклов в таких вещах, как игры (и вовсе не переносится на разные архитектуры ). Он в основном используется для действительно низкоуровневых таких вещей, как аппаратные прерывания и настройка подкачки (виртуальной памяти).