На самом деле, выделять динамические
На самом деле, выделять динамические массивы все-таки возможно, однако, только в том случае если компилятор, во-первых, адресует локальные переменные через EBP, а во-вторых, в эпилоге использует конструкцию MOV ESP, EBP
вместо ADD ESP, n. К таким компиляторам, в частности, относится Microsoft Visual C++, автоматически переходящий на адресацию локальных переменных через регистр EBP, если в теле функции присутствует хотя бы одна ассемблерная вставка.
Фрагмент одной из таких функций приведен ниже:
text:00000010 push ebp
text:00000011 mov ebp, esp
text:00000013 push esi
…
text:0000002B sub esp, 400h
…
text:00000034 mov eax, [ebp+var_4]
…
text:00000048 pop esi
text:00000049 mov esp, ebp
text:0000004B pop ebp
text:0000004C retn