Du kannst per jmp keinen Ringwechsel durchführen, wenn ich das grad richtig sehe. Du kannst zwar in ein anderes Codesegment springen, es muss aber die gleiche Privilegstufe haben.
Aber soweit kommt der Code ja gar nicht. Das Problem ist, dass du ein Ring-3-ss laden willst, obwohl dein cs im Moment Ring 0 ist. Das heißt, du hast RPL != CPL und das gibt einen #GP. (Kannst du beispielsweise bei der Beschreibung von mov im Intel-Manual nachlesen, aber sicher auch irgendwo in Teil 3)
Für einen Ringwechsel nimmst du am besten iret, wie das auch in allen Tutorials beschrieben sein dürfte. Damit kannst du in ein Codesegment einer anderen Privilegstufe springen, und cs und ss werden gleichzeitig neugeladen, so dass sie immer konsistent sind.
@Noob: Meinst du wirklich, du könntest helfen, wenn du den Code hättest, wenn du es so nicht siehst?