def cmp(self,x1,x2):
if(isinstance(x1,Data) and isinstance(x2,Data)):
x1addr=self.getAbsoluteAdd(x1)
x2addr=self.getAbsoluteAdd(x2)
self.gen.asm.append("\tmov eax, "+x1addr+'\n')
self.gen.asm.append('\tcmp '+'eax'+', '+x2addr+'\n')
return
dataflag1=False;
if(isinstance(x1,Data)):
x1=self.getAbsoluteAdd(x1)
dataflag1=True
dataflag2=False;
if(isinstance(x2,Data)):
x2=self.getAbsoluteAdd(x2)
dataflag2=True
# if(isinstance(x1,Data)):
# x1addr=self.getAbsoluteAdd(x1)
# x1=x1.name
# if(isinstance(x2,Data)):
# x2addr=self.getAbsoluteAdd(x2)
# x2=x2.name
# if(x1 in self.currentMap and x2 in self.currentMap):
# self.gen.asm.append("\tmov eax, "+x1addr+'\n')
# self.gen.asm.append('\tcmp '+'eax'+', '+x2+'\n')
# return
if(dataflag1):
self.gen.asm.append('\tcmp DWORD PTR '+str(x1)+', '+str(x2)+'\n')
return
if(dataflag2):
self.gen.asm.append('\tcmp '+str(x1)+', DWORD PTR '+str(x2)+'\n')
return
self.gen.asm.append('\tcmp '+str(x1)+', '+str(x2)+'\n')
return
评论列表
文章目录