Hi Mike, It seems that dynasm for x86/x64 doesn't currently know about the shld and shrd instructions. I believe that the following patch correctly teaches it about these instructions, and would appreciate the patch being integrated upstream. Regards, Peter diff --git a/dynasm/dasm_x86.lua b/dynasm/dasm_x86.lua index 824c634..37024a7 100644 --- a/dynasm/dasm_x86.lua +++ b/dynasm/dasm_x86.lua @@ -1084,6 +1084,9 @@ local map_op = { rdtsc_0 = "0F31", -- P1+ cpuid_0 = "0FA2", -- P1+ + shld_3 = "mriqdw:0FA4RmU|mrCqdw:0FA5Rm", + shrd_3 = "mriqdw:0FACRmU|mrCqdw:0FADRm", + -- floating point ops fst_1 = "ff:DDD0r|xd:D92m|xq:nDD2m", fstp_1 = "ff:DDD8r|xd:D93m|xq:nDD3m|xt:DB7m",