FSTP
MEM0:w:mem32real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP MEM0:w:mem80real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP MEM0:w:m64real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP
x86_64 X86_LEGACY X87_ALU X87 source: xed
XED_FSTP_X86_LEGACY_ONEBYTE_D9_841780
Encoding
| encoding_kind | X86_LEGACY |
| opcode_bytes | D9 DB DD |
| opcode_map | ONEBYTE |
| mandatory_prefix | - |
| has_modrm | True |
| modrm.reg = /3 | /3 |
| attributes | NOTSX |
| cpl | 3 |
| raw_encoding | 0xD9 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() 0xDB MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() 0xDD MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() |
Operands (12)
| # | Role | Kind | Class / Reg | Width | Access | Visibility | Encoded in |
|---|---|---|---|---|---|---|---|
| 0 | MEM0 | MEM | w | W | EXPLICIT | MODRM_RM | |
| 1 | REG0 | REG | (=ST0) | f80 | R | IMPLICIT | MODRM_REG |
| 2 | REG1 | REG | R | SUPPRESSED | MODRM_REG | ||
| 3 | REG2 | REG | w | W | SUPPRESSED | MODRM_REG | |
| 4 | MEM1 | MEM | w | W | EXPLICIT | MODRM_RM | |
| 5 | REG3 | REG | (=ST0) | f80 | R | IMPLICIT | MODRM_REG |
| 6 | REG4 | REG | R | SUPPRESSED | MODRM_REG | ||
| 7 | REG5 | REG | w | W | SUPPRESSED | MODRM_REG | |
| 8 | MEM2 | MEM | w | W | EXPLICIT | MODRM_RM | |
| 9 | REG6 | REG | (=ST0) | f80 | R | IMPLICIT | MODRM_REG |
| 10 | REG7 | REG | R | SUPPRESSED | MODRM_REG | ||
| 11 | REG8 | REG | w | W | SUPPRESSED | MODRM_REG |
Micro-ops sequence (0)
No micro-ops authored for this encoding. Emulator semantics not yet defined — decoder still works.