Use inline asm intead of pure asm for future MACRO refactor
Use MACRO to make system call more readable