删除无用赋值 (1)PROD:=0 (4)12:=a0-4 (7)T5:=b-4 (3)T1:=4 (5)T3:=T2[T1] (8)T6:=T5[T4] (9)77:=T3*T6 (10) PROD: -PROD+ T7 (3)T1:=T1+4 (12ifTl≤80goto(5)
删除无用赋值 (1)PROD := 0 (4)T2 := a0 – 4 (7) T5 := b0 – 4 (3) T1 := 4 (5)T3 := T2[T1] (8) T6 := T5[T4] (9) T7 := T3 * T6 (10) PROD := PROD + T7 (3’)T1 := T1 + 4 (12)if T1 ≤ 80 goto (5)
第四节代码生成 1.代码生成的任务 将中间代码翻译成等价有效的目标代码 2代码生成器的输入 中间代码,符号表 3.代码生成器的输出 目标代码—绝对机器代码,可重定 位代码或汇编码
第四节 代码生成 1. 代码生成的任务 将中间代码翻译成等价有效的目标代码 2. 代码生成器的输入 中间代码,符号表 3. 代码生成器的输出 目标代码 —— 绝对机器代码,可重定 位代码或汇编码
4.抽象机的指令形式 op源,目的 其中op是操作码;源和目的是两个操作对象 可以是内存地址、寄存器或常数 (1)直接地址型 op Ri M (Ri op m)=> ri (2)寄存器型 op Ri Ri (Ri op(ri)=> ri
4. 抽象机的指令形式 op 源,目的 其中op是操作码;源和目的是两个操作对象, 可以是内存地址、寄存器或常数 (1)直接地址型 op Ri , M (Ri) op (M) => Ri (2)寄存器型 op Ri, Rj (Ri) op (Rj) => Ri