背景:在进行操作数扩展的时候,有0扩展和符号位扩展两种。现在想将x86平台上的32位寄存器,翻译到mips平台上,而mips平台只能是64位的。如下:
add %eax,%ebx
mov %edx,%eax
通常情况下:%eax寄存器在add指令中已经进行扩展了,在mov指令中也会进行扩展。
而实际上:因为在add中已经进行扩展,那么在mov指令中就不需要扩展。
现在设计一个方案,将对mov指令中对%eax寄存器扩展操作取消,也就是减少代码冗余。 谢谢各位的意见和建议,小弟在线等待各位的答案!
add %eax,%ebx
mov %edx,%eax
通常情况下:%eax寄存器在add指令中已经进行扩展了,在mov指令中也会进行扩展。
而实际上:因为在add中已经进行扩展,那么在mov指令中就不需要扩展。
现在设计一个方案,将对mov指令中对%eax寄存器扩展操作取消,也就是减少代码冗余。 谢谢各位的意见和建议,小弟在线等待各位的答案!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货