add asm header, footer; push, pop registers on each call