SOURCES (LINUX_2_6): linux-2.6-ldr-str-segment-asm.patch (NEW) - f...

Pawel Sikora pluto w pld-linux.org
Pią, 15 Kwi 2005, 14:35:16 CEST


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




Więcej informacji o liście dyskusyjnej pld-devel-pl