diff --git a/src/RISCv64AsmPrinter.cpp b/src/RISCv64AsmPrinter.cpp index 9482a58..1995024 100644 --- a/src/RISCv64AsmPrinter.cpp +++ b/src/RISCv64AsmPrinter.cpp @@ -42,7 +42,7 @@ void RISCv64AsmPrinter::printPrologue() { *OS << " addi sp, sp, -" << aligned_stack_size << "\n"; *OS << " sd ra, " << (aligned_stack_size - 8) << "(sp)\n"; *OS << " sd s0, " << (aligned_stack_size - 16) << "(sp)\n"; - *OS << " mv s0, sp\n"; + *OS << " addi s0, sp, " << aligned_stack_size << "\n"; } // 忠实还原保存函数入口参数的逻辑