11.1基本问题 ■ 目标程序 口绝对机器代码、可再定位机器语言、汇编语言 口采用汇编代码作为目标语言 ■指令选择 ▣a:=a+1 INC a ■LDRO,a ADD RO,#1 ST RO,a 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 11.1 基本问题 ◼ 目标程序 绝对机器代码、可再定位机器语言、汇编语言 采用汇编代码作为目标语言 ◼ 指令选择 a:=a+1 ◼ INC a ◼ LD R0, a ADD R0, #1 ST R0, a
11.1基本问题 ■ 寄存器分配 口在寄存器分配期间,为程序的某一点选择驻留 在寄存器中的一组变量。 口在随后的寄存器指派阶段,挑出变量将要驻留 的具体寄存器。 ■计算顺序选择 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 11.1 基本问题 ◼ 寄存器分配 在寄存器分配期间,为程序的某一点选择驻留 在寄存器中的一组变量。 在随后的寄存器指派阶段,挑出变量将要驻留 的具体寄存器。 ◼ 计算顺序选择
11.2目标机器模型 ■考虑一个抽象的计算机模型 口具有多个通用寄存器,他们既可以作为累加器, 也可以作为变址器。 口运算必须在某个寄存器中进行。 口含有四种类型的指令形式 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 11.2 目标机器模型 ◼ 考虑一个抽象的计算机模型 具有多个通用寄存器,他们既可以作为累加器, 也可以作为变址器。 运算必须在某个寄存器中进行。 含有四种类型的指令形式
类型 指令形式 意义(设op是二目运 算符) 直接地址型 op Ri,M (R)Op(D→R: 寄存器型 op Ri,Ri R)op(R)→R 变址型 op Ri,c(Ri) (R)Op(R)+c)→R 间接型 op Ri,*M (R)p(M)→R op Ri,*Ri (R)op(R)→R op Ri,*c(Ri) R)op(R)+c)→R 如果op是一目运行符,则“opR,M”的意 义为:op(M)→R, 其余类型可类推。 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 类 型 指令形式 意 义(设 op 是二目运 算 符) 直接地址型 op Ri , M (Ri ) op (M) Ri 寄存器型 op Ri , Rj (Ri ) op (Rj ) Ri 变址型 op Ri , c(Rj ) (Ri ) op ((Ri )+ c) Ri 间接型 op Ri , *M op Ri , *Rj op Ri , *c(Rj ) (Ri ) op ((M)) Ri (Ri ) op ((Rj )) Ri (Ri ) op (((Rj )+ c)) Ri 如果op是一目运行符,则“op Ri , M”的意 义为:op(M) Ri,其余类型可类推
0p包括一般计算机上常见的一些运算符,如 ADD 加 SUB 减 MUL DIV 乘除 国防科技大学计算机系602教研室
国防科技大学计算机系602教研室 op 包括一般计算机上常见的一些运算符,如 ADD 加 SUB 减 MUL 乘 DIV 除