REG_EAX
emit_move(left, REG_EAX, NULL, NULL);
insn("div", reg, REG_EAX, NULL);
reg = REG_EAX;
emit_move(val, REG_EAX, expr->ctype, "return");
emit_move(op, REG_EAX, old_type, "begin cast ..");
emit_move(REG_EAX, new, new_type, ".... end cast");
emit_move(target, REG_EAX, expr->unop->ctype, NULL);
insn("test", REG_EAX, REG_EAX, NULL);
emit_move(target, REG_EAX, expr->unop->ctype, NULL);
insn(opname, REG_EAX, NULL, NULL);
emit_move(REG_EAX, new, expr->unop->ctype, NULL);
emit_move(val, REG_EAX, stmt->switch_expression->ctype, "begin case");
insn("cmpl", case_val, REG_EAX, NULL);
insn("cmpl", case_val, REG_EAX, NULL);
emit_move(val, REG_EAX, NULL, "loop pre condition");
insn("test", REG_EAX, REG_EAX, NULL);
emit_move(val, REG_EAX, NULL, "loop post condition");
insn("test", REG_EAX, REG_EAX, NULL);
emit_move(fncall, REG_EAX, fn->ctype, NULL);
emit_move(REG_EAX, retval, NULL, "end function call");
emit_move(addr, REG_EAX, NULL, "begin deref ..");