On Fri, 15 Apr 2005, Jakub Bogusz wrote:
> On Fri, Apr 15, 2005 at 01:56:37PM +0200, pluto wrote:
> O ile pamiętam ogłoszenie o nowych binutils, to ma być po prostu mov.
> movw dodaje niepotrzebny prefix 0x66.
prefix 0x66 sie pojawia gdy przesyla sie np. mozna zroznicowac
rozmiar operandu 16/32 bity (np. %ax i %eax). w przypadku %fs, %gs
takiej mozliwosci nie ma i 0x66 sie nie pojawi.
kod:
asm volatile("movw %%fs,%0":"=m" (_fs));
asm volatile("movw %%ax,%0":"=m" (_ax));
asm volatile("movw %ax, %fs");
asm volatile("movl %eax, %fs");
da:
8c 25 02 00 00 00 movw %fs,0x2
66 a3 00 00 00 00 mov %ax,0x0
8e e0 movl %eax,%fs
8e e0 movl %eax,%fs
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl