Резервирование всей физической памяти это по-моему гарантированный сбой всех запущенных процессов. Дефолтное виндовое средство тестирования памяти например - опция загрузки (native/не native хз). А по-колхозному VirtualAlloc'ом сколько получится выделяют и тестируют.
Если отдельными участкаим устраивает, то "Гроссмейcтер не баловал разнообразием." https://wasm.in/threads/est-u-kogo-na-primete-podpisannye-drova.34402/#post-431103 С памятью SMM, Intel ME, может есть теперь и что-то еще (крипто и т.п.), и здесь было про создание помех при физически близких ячейках динам. памяти. Как с этим думайте сами.
Не понятно что значит свободную" память. Она непрерывно выделяется/освобождается. Наверно для начала нужно освободить MmEmptyAllWorkingSets(). И что значит зарезервировать, зачем. Что бы выполнить манипуляции с физ памятью её не нужно отбирать у системы, достаточно её остановить. Есчо почему в masm64", компилер что ли влияет на распределение ядром памяти.. похоже дайте готовое на масм", так было бы понятно