为什么要分配寄存器
要做寄存器分配,根本原因是【0】。
装不下会怎样
三个寄存器槽满了,多的落到内存 装不下的两个溢出到内存条上 临时值比寄存器还多时,多出来的那些会【0】。
几个装得下、要溢出几个
(每道题开头都有同一段:regs_used(prog) 程序里不同临时变量的个数;spills(ntemps, k) = max(0, ntemps-k)(k 个寄存器装不下就溢出);fits(ntemps, k) 够不够装。) 5 个临时
补全:数不同临时值
(每道题开头都有同一段:regs_used(prog) 程序里不同临时变量的个数;spills(ntemps, k) = max(0, ntemps-k)(k 个寄存器装不下就溢出);fits(ntemps, k) 够不够装。) 补全 re
补全:算溢出几个
(每道题开头都有同一段:regs_used(prog) 程序里不同临时变量的个数;spills(ntemps, k) = max(0, ntemps-k)(k 个寄存器装不下就溢出);fits(ntemps, k) 够不够装。) 补全 sp
补全:够不够装
(每道题开头都有同一段:regs_used(prog) 程序里不同临时变量的个数;spills(ntemps, k) = max(0, ntemps-k)(k 个寄存器装不下就溢出);fits(ntemps, k) 够不够装。) 补全 fi
补全:先数临时再判够不够
(每道题开头都有同一段:regs_used(prog) 程序里不同临时变量的个数;spills(ntemps, k) = max(0, ntemps-k)(k 个寄存器装不下就溢出);fits(ntemps, k) 够不够装。) 补全 en
汇编器做什么
「汇编器」这一步,做的是【0】。
链接器做什么
「链接器」这一步,做的是【0】。
未定义符号是什么
链接时报「未定义符号」,通常是因为【0】。