补全:列出临时名

(每道题开头都有同一段:三地址码用元组表示——(op, dst, a, b),如 ("+","t2","a","t1") 是 t2 = a + t1、(&quo

开始练习 →

指令选择在做什么

「指令选择」这一步,做的是【0】。

开始练习 →

一条 IR 对几条指令

一条 IR 经过指令选择,通常对应【0】。

开始练习 →

同一条 IR 能有几种选法吗

同一条 IR,在一台机器上【0】。

开始练习 →

把一条 IR 选成汇编

(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条);gen(prog) 生成全部汇编行;

开始练习 →

减法选成哪条助记符

(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条);gen(prog) 生成全部汇编行;

开始练习 →

补全:选一条二元运算

(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条);gen(prog) 生成全部汇编行;

开始练习 →

补全:查运算符的助记符

(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条);gen(prog) 生成全部汇编行;

开始练习 →

补全:整段程序生成汇编

(每道题开头都有同一段:MNEMONIC 把运算符映射到助记符(+→ADD、-→SUB、*→MUL);select(t) 把一条 IR 选成几条汇编(二元运算 4 条、const/copy 各 2 条);gen(prog) 生成全部汇编行;

开始练习 →

寄存器分配在做什么

三个寄存器槽满了,多的落到内存 装不下的两个溢出到内存条上 「寄存器分配」这一步,做的是【0】。

开始练习 →