MOVSXD
Move with sign extension
Copy a narrower value, extending it to the destination width.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
MOVSXD r64, r32 | 64 | x86-64 | REX.W + 63 /r |
MOVSXD r64, m32 | 64 | x86-64 | REX.W + 63 /r |
Operation#
Pseudo-C · selected form
dst = sign_extend(src, 64)Exact upstream semantics
Standard variant
let result := Sign_Extend(src, operand_size);Architectural details#
- Flags
- RFLAGS unchanged.
- Destination
- Writes the full 64-bit destination register.
- Encoding
REX.W + 63 /r- Operands
r64write · 64 bits · signedr32read · 32 bits · signed
- Coverage
- Selected scalar forms in 64-bit execution mode. 8/16-bit arithmetic, APX and unlisted encoding alternatives are outside this selection.
Exception information & execution requirements
#UD
Imported exceptions are checks exposed by this XML form; memory, stack, instruction-fetch and called architectural helpers can introduce additional faults.
Feature availability alone does not guarantee execution: OS state and execution-level controls also apply. Use the linked architecture documentation for the full exception conditions.
Sources & provenance#
Technical fields are imported from pinned upstream files. Explanations and explorer behavior are maintained separately.
Intel · MOVSX-MOVSXD-Move-With-Sign-Extension.xml
- Revision
4ebe7f0ac1bd00f46244c49bb72c503ce368def7- SHA-256
d54c8aab3a390f527d7c266238a075370ab7bf40d3e92089e4fc0d9c29a2316e- Terms
- Intel SDM terms; see License.md