Assembleur 80x86 | SYSCALL |
---|---|
AMD K6-2+ | Fast System Call |
Syntaxe
SYSCALL |
Description
Cette instruction permet d'effectuer le transfert du contrôle d'un point d'entrée fixe au système d'exploitation.
Algorithme
SYSCALL_START: SI MSR_EFER.SCE = 0 ALORS EXCEPTION #UD() FIN SI SI LONG_MODE ALORS SYSCALL_LONG_MODE SINON SYSCALL_LEGACY_MODE FIN SI SYSCALL_LONG_MODE: RCX.q ← next_RIP R11.q ← RFLAGS SI mode 64 bits ALORS temp_RIP.q ← MSR_LSTAR SINON temp_RIP.q ← MSR_CSTAR CS.sel ← MSR_STAR.SYSCALL_CS ∩ FFFCh CS.attr ← 64-bit code,dpl0 CS.base ← 00000000h CS.limit ← FFFFFFFFh SS.sel ← MSR_STAR.SYSCALL_CS + 8 SS.attr ← pile 64 bits,dpl0 SS.base ← 00000000h SS.limit ← FFFFFFFFh RFLAGS ← RFLAGS ∩ ¬ MSR_SFMASK RFLAGS.RF ← 0 CPL ← 0 RIP ← temp_RIP FIN SI FIN SYSCALL_LEGACY_MODE: RCX.d ← prochain RIP temp_RIP.d ← MSR_STAR.EIP CS.sel ← MSR_STAR.SYSCALL_CS ∩ FFFCh CS.attr ← code 32 bits,dpl0 CS.base ← 00000000h CS.limit ← FFFFFFFFh SS.sel ← MSR_STAR.SYSCALL_CS + 8 SS.attr ← pile 32 bits,dpl0 SS.base ← 00000000h SS.limit ← FFFFFFFFh RFLAGS.VM,IF,RF ← 0 CPL ← 0 RIP ← temp_RIP FIN |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
SYSCALL | 0Fh 05h | Cette instruction permet d'effectuer le transfert du contrôle d'un point d'entrée fixe au système d'exploitation. |
Voir également
Instruction assembleur 80x86 - Instruction SYSENTER
Instruction assembleur 80x86 - Instruction SYSEXIT
Instruction assembleur 80x86 - Instruction SYSRET
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 492 à 493.
Dernière mise à jour : Lundi, le 8 septembre 2014