invalid instruction operands

James Bloom-Scheff 1 Reputation point
2022-06-14T21:47:00.617+00:00

I'm trying to build some old code. Last built in 2007 and windows xp. I'm trying to build with visual studio 2019 and windows 10, 32 bits.

I'm looking at some assembly code. Presumably, it used to build. Various instructions are giving "invalid instruction operands" errors.

movd mm4,[esp+0]  
movd mm5,[esp+4]  
movd mm7,[esi]  
movd mm7,[esi]  

Something must have changed in the language definition. Anyone know what needs to be done to get those lines to work?

I'd post more of the program, but I'm not sure that will help

movd mm6,ebp  
movd mm7,[esi]  
add  esi,4  
psllq mm7,mm6
C++
C++
A high-level, general-purpose programming language, created as an extension of the C programming language, that has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
3,754 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Viorel 117.9K Reputation points
    2022-06-15T14:17:43.517+00:00

    According to similar issues (https://github.com/search?q=inffas32.asm+error+A2070%3A+invalid+instruction+operands&type=code), the instructions like movd mm4,[esp+0] can be changed manually to movd mm4, dword ptr [esp+0].

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.