Section courante

A propos

Section administrative du site

Assembleur 80x86

SYSRET

AMD K6-2+ Fast System Return

Syntaxe

SYSRET

Description

Cette instruction permet de retourner du système d'exploitation à une application.

Algorithme

SYSRET_START:
   SI MSR_EFER.SCE = 0 ALORS
      EXCEPTION #UD()
   FIN SI
   SI ((PAS PROTECTED_MODE) OU (CPL != 0)) ALORS
      EXCEPTION #GP(0)
   FIN SI
   SI mode 64 bits ALORS
      ALLER A SYSRET_64BIT_MODE
   SINON
      ALLER A SYSRET_NON_64BIT_MODE
   FIN SI

SYSRET_64BIT_MODE:
   SI taille de l'opérande = 64 bits ALORS
      CS.sel ← (MSR_STAR.SYSRET_CS + 16) U 3
      CS.base ← 00000000h
      CS.limit ← FFFFFFFFh
      CS.attr ← 64-bit code,dpl3
      temp_RIP.q ← RCX
   SINON
      CS.sel ← MSR_STAR.SYSRET_CS U 3
      CS.base ← 00000000h
      CS.limit ← FFFFFFFFh
      CS.attr ← 32-bit code,dpl3
      temp_RIP.d = RCX
   FIN SI
   SS.sel ← MSR_STAR.SYSRET_CS + 8
   RFLAGS.q ← R11
   CPL ← 3
   RIP ← temp_RIP
   FIN

SYSRET_NON_64BIT_MODE:
   CS.sel ← MSR_STAR.SYSRET_CS U 3
   CS.base ← 00000000h
   CS.limit ← FFFFFFFFh
   CS.attr ← 32-bit code,dpl3
   temp_RIP.d ← RCX
   SS.sel ← MSR_STAR.SYSRET_CS + 8
   RFLAGS.IF ← 1
   CPL ← 3
   RIP ← temp_RIP
   FIN

Mnémonique

Instruction Opcode Description
SYSRET 0Fh 07h Cette instruction permet de retourner du système d'exploitation à une application.

Voir également

Instruction assembleur 80x86 - Instruction SYSCALL
Instruction assembleur 80x86 - Instruction SYSENTER
Instruction assembleur 80x86 - Instruction SYSEXIT

Références

Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, Edition Intel, Mars 2010, Publication No. 253667-034US, page 503 à 504.

Dernière mise à jour : Lundi, le 8 septembre 2014