non conosco bene il C ma conosco il modulo assembler, tutto quello ke fai li dentro non influenza minimanete il programma principale. Questo xke i registri interni del processore vengono salvati prima di eseguire il codice asm, e ripristinati al termine, poi anche xke non puoi dichiarare variabili al suo interno, quindi l'allocazione della memoria finisce sempre al compilatore C, al suo interno puoi solo modificarle, e qui non mi sembra ci sia niente di male