我正在寻找一种方法来将局部变量分配给寄存器.我知道有几种严肃的方法(即维基百科上提到的方法),但我仍然坚持如何"溢出"完成.此外,相关文献相当令人生畏.我希望有一些更简单的东西可以满足我的优先事项:
将操作转换x = y # z为:
movl y, %eax
movl z, %ebx
op %ebx, %eax
movl %eax, x
Run Code Online (Sandbox Code Playgroud)
由于我的目标是英特尔386,因此一些相关的限制是:
%eax %ebx %ecx %edx %esi %edi.(%ebp也可作为最后手段.)编译器目前有三个步骤:
a = a # b(或a = #a用于一元操作).然后编译器抛出它的蜡笔,不知道接下来该做什么.
public int mf(int cr, int ci) {
int i = 0;
int zr = 0;
int zi = …Run Code Online (Sandbox Code Playgroud)