Re: MSVC++ 6.0 and Assembly

From: Dunny (paul.dunn4_at_ntlworld.com)
Date: 07/12/04


Date: Mon, 12 Jul 2004 00:20:39 +0100

In news:ccpmb2$aaf$2@newsreader1.utanet.at,
wolfgang kern <nowhere@nevernet.at> typed:
> "ViKT0RY" wrote:
>
>> This is correct, you can't asign directly an inmediate value to a
>> memory position, you have to use a register before that (as Dunny
>> said :)
>
> This is wrong,
>
> mov [mem],imm ;C6/C7... byte/word/dw
> add [mem],imm ;80/81/83... byte/word/dw/Simm8
>
> exists since the early days of x86,
> from +386 also in this form:
>
> add [eax+ebx*8+offset],imm8

I just tried this, and it assembles fine in basm:

asm
    add [m_wPtrIdxLSW1_FX], 4
end;

so I assume that's probably the shortest method. At least in delphi, at any
rate? Any problems with that one?

D.