On Tue, Dec 25, 2007 at 07:37:04PM +0800, Bean wrote: > > I use the 32-bit address to save space, maybe your compiler doesn't > support it. anyway, you can try the following transformation: > > leal 0x200 + data_start - data_next(%ebx,%eax), %eax > > -> > > addl %ebx, %eax > addl $(0x200 + data_start - data_next), %eax > > ----------- > > leal (%esi, %eax), %esi > leal (%edi, %eax), %edi > > -> > > addl %eax, %esi > addl %eax, %edi
I think it has more to do with the op being "leal" instead of "leaw" than with the addressing argument having 3 members. -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call, if you are unable to speak? (as seen on /.) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel