Skip to content

Commit

Permalink
Update arch.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Ksitta authored Sep 25, 2024
1 parent 52186a6 commit e704bef
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion docs/step1/arch.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ TAC 程序是**无类型**的,或者说它仅支持一种类型:32位(4字

## 目标平台汇编代码生成

> 目标平台汇编代码生成在 `backend/asm.py | backend/asmemitter.py | backend/subroutineemitter.py | subroutineinfo.py` 以及 `backend/riscv/` 中。
> 目标平台汇编代码生成在 `backend/asm.py | subroutineinfo.py` 以及 `backend/riscv/` 中。
通常我们认为的目标代码生成步骤包含寄存器分配、指令选择。**寄存器分配**是指为中间代码中的虚拟寄存器分配实际的物理寄存器,涉及物理寄存器的调度分配。**指令选择**是指选用合适的汇编指令来翻译中间代码指令,如中间代码生成章节提供的例子中,使用 addi 汇编指令来翻译 ADD 中间代码指令。需要特别提出的是,RISC-V 指令集的设计思路是尽可能简洁,因此有些指令并没有直接提供,需要用多条简单指令代替,如相等、大于等于、逻辑与、逻辑或等等。同学们实现时需要特别注意。

Expand Down

0 comments on commit e704bef

Please sign in to comment.