The following is rejected by gas (GNU assembler (GNU Binutils) 2.18.50.20070916): .intel_syntax noprefix mov BYTE PTR gs+12[rip], 0 This is accepted as expected: mov BYTE PTR hs+12[rip], 0
gs is a special token for gs register, similar to rax.
I don't see what you mean. Segment registers are postfixed with ':' when they appear in memory operands.