diff options
Diffstat (limited to 'src/code-generation.c')
-rw-r--r-- | src/code-generation.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/code-generation.c b/src/code-generation.c index 4b10015..5b95a74 100644 --- a/src/code-generation.c +++ b/src/code-generation.c @@ -148,7 +148,10 @@ static void generate_expression(CcmmcAst *expr, CcmmcState *state, if (expr->type_node == CCMMC_AST_NODE_STMT && expr->value_stmt.kind == CCMMC_KIND_STMT_FUNCTION_CALL) { - // TODO: function call + ccmmc_register_caller_save(state->reg_pool); + fprintf(state->asm_output, "\tbl\t%s\n", expr->child->value_id.name); + ccmmc_register_caller_load(state->reg_pool); + fprintf(state->asm_output, "\tmov\t%s, w0\n", result); assert(false); } |