изучай директивы асма, в фасме можно присвоить имя ячейке памяти в стеке
в теле процедуры (фасм)
label .myloc dword at [ebp-4]
Ну вот сделал такой вот кодик (nasm):
lea eax, 255[ecx]
%define a dword [rbp-4]
mov rbp, rsp
sub rsp, 8
mov a, eax
mov rsp, rbp
ворк лайк а шарм, а фасмовский вариант не робит. Этот работает в сегменте кода нормально, не знаю правильно ли это но я ничего другого пока не нашел. Протестировал в дебагере баловство с byte word dword при резервировании в 64 компиляции не прокатывает, но записывать переменные уже после резервирования можно и byte и word и dword при этом обращаться надо именно к rbp а не к ebp или bp