I ams truggling with conversion of source part to comply with 64bit C++ compiler, unfortunatelly the part is written in assembler language. I get these errors during compiling:
error: Operand size mismatch in asm instruction mov.
error: Illegal gp reg in address (must be 64-bit) in asm instruction mov.
error: Illegal gp reg in address (must be 64-bit) in asm instruction mov.
The concerned part of 32bit source looks following:
I ams truggling with conversion of source part to comply with 64bit C++ compiler, unfortunatelly the part is written in assembler language. I get these errors during compiling:
error: Operand size mismatch in asm instruction mov.
error: Illegal gp reg in address (must be 64-bit) in asm instruction mov.
error: Illegal gp reg in address (must be 64-bit) in asm instruction mov.
The 64-bit registers are named rax, rbx, rcx, rdx, etc.
So should I rename all registers to rax, rbx etc..?
Why not try and see what happens? Or tell us what that code is supposed to do and then attempt to rewrite it in 'C' or C++.
Also, exactly what compiler are you using? Is inline assembly language supported in 64-bit compilation for Visual C++? As far as I know, x64 builds do not support inline assembly language, and instead, uses something called intrinsics.
Check out SIMD instruction PSHUFB.
It will process four 32-bit values at once.
Vlad - MS MVP [2007 - 2012] - www.FeinSoftware.com
Convenience and productivity tools for Microsoft Visual Studio: FeinViewer - an integrated GDI objects viewer for Visual C++ Debugger, and more...
Bookmarks