Как насчет начать с излучения C вместо сборки?Тогда писать напрямую в ASM - это просто оптимизация.
Я не шучу: большинство компиляторов вырабатывают какой-то промежуточный код до прохождения финального нативного кода.
Я понимаю, что выпытаясь уйти от всей разделенной нулями Rigmarole, но вам все равно это понадобится для функций WinAPI.
Перечитывая ваш вопрос: вы понимаете, что вы можете получить адреса функций WinAPI, вызвав LoadLibrary(), затем вызывая GetProcAddress (), а затем настраивая вызов ... правильно?
Если вы хотите посмотреть, как загрузить это из чистой сборки: старые SDK имели пример кода ASM, возможно, новыйте все еще делают.Если они этого не сделают, DDK будет.