MOVDDUP - 移動一個雙精度浮點值並複製

 

指令

說明

 

MOVDDUP xmm1, xmm2/m64

將 XMM2/Mem 中代表低位 DP 數據元素的 64 位移到 XMM1 暫存器並複製。

說明

線性地址對應于引用的記憶體數據的最低有效位元組。指出記憶體地址時,將載入記憶體位置 m64 處 8 個位元組的數據。使用暫存器-暫存器形式的此操作時,將複製 128 位源暫存器的下半部,並複製到 128 位目標暫存器。

操作

if (source == m64) {

// load instruction

xmm1[63-0] = m64;

xmm1[127-64] = m64;

}

else {

// move instruction

xmm1[63-0] = xmm2[63-0];

xmm1[127-64] = xmm2[63-0];

}

異常

數值異常

保護模式異常

#GP(0) - CS、DS、ES、FS 或 GS 段中的記憶體運算元有效地址非法。
#SS(0) - SS 段中的地址非法。
#PF(錯誤程式碼) - 頁錯誤。
#NM - 如果 CR0 中的 TS 設定為 1。
#UD - 如果 CR0.EM = 1。 如果 CR4.OSFXSR(bit 9) = 0。 如果 CPUID.PNI(ECX bit 0) = 0。

實地址模式異常

中斷 13 - 如果運算元的任何部分出現在從 0 到 0FFFFH 的有效地址空間之外。
#NM - 如果 CR0 中的 TS 設定為 1。
#UD - 如果 CR0.EM = 1。 如果 CR4.OSFXSR(bit 9) = 0。 如果 CPUID.PNI(ECX bit 0) = 0。

虛 8086 模式異常

中斷 13 - 如果運算元的任何部分出現在從 0 到 0FFFFH 的有效地址空間之外。
#NM - 如果 CR0 中的 TS 設定為 1。
#UD - 如果 CR0.EM = 1。如果 CR4.OSFXSR(bit 9) = 0。如果 CPUID.PNI(ECX bit 0) = 0。#PF(錯誤程式碼) - 頁錯誤。