На самом деле, выделять динамические массивы все-таки возможно, однако, только в том случае если компилятор, во-первых, адресует локальные переменные через EBP, а во-вторых, в эпилоге использует конструкцию MOV ESP, EBP
вместо ADD ESP, n. К таким компиляторам, в частности, относится Microsoft Visual C++, автоматически переходящий на адресацию локальных переменных через регистр EBP, если в теле функции присутствует хотя бы одна ассемблерная вставка.