Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Note how this is inline assembly given to GCC (I suppose that is your compiler). The compiler uses the GNU assembler as its assembler backend rather than whatever third party assembly you think you are using (probably nasm). You'll need to write your assembler first in GNU assembler format (probably AT&T syntax if you are on i386 or x86_64) and then possibly escape the string containing assembly (perhaps add double %%'s to use a specific register). Next you'll need to add input and output operand rules to the inline assembly to communicate with the compiler which registers are input and output. You'll also need to add a list of registers to the clobber list, but also keep in mind that staging the CPU status flags (eflags on i386) and memory also needs to be specified. If the assembly statement at this point looks like it has no side effects, the compiler will happily optimize it away. You'll need to add a volatile keyword to the inline assembly if this is undesired. For instance, the interrupt instruction in your simple statement looks like it has no consequence (except that volatile is implied if there are no register operands). Keep in mind that the compiler will never look at the text inside your assembly statement but just mindlessly forward it to the assembler after having substituted virtual registers with actual registers.