补全:列出临时名
(每道题开头都有同一段:三地址码用元组表示——(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】。