6 void func_header(char *s)
8 printf("\t.globl %1$s\n\t.type %1$s, @function\n%1$s:\n", s);
11 void move(char *src, char *dst)
13 if(strcmp(src,dst) != 0) {
14 printf("\tmovq %%%s, %%%s\n", src, dst);
23 char *next_reg(char *s, short skip)
25 char *regs[] = {"rax", "r10", "r11", "r9", "r8", "rcx", "rdx", "rsi", "rdi"};
27 if (s != (char*) NULL) {
29 if(!strcmp(s, regs[i++])) {
40 char *param_reg(int num)
42 char *regs[] = {"rdi", "rsi", "rdx", "rcx", "r8", "r9"};