How to access a C++ object member inside 80386 _asm block?
Posted on 2004-09-09
I am using VC++ v6.0 and unlikely to upgrade soon.
I have an assembly block (Intel 80386) inside of a class method.
I want to access the member variables of the class. I can access
the "this" pointer easily enough.
I am have not yet figured out the syntax for the member offset.
The following code example illustrates what I want to do. But it
does not compile.
mov esx,this ; this compiles okay
mov eax,offset class_name::member ; C2415: improper operand type
mov eax,offset member ; C2400: inline assembler syntax error in 'opcode';
; found 'bad token'
mov ebx,[esx+eax] ; Have not got this far
The offset operator does not work. Does anybody know how to
get the offset of a member from within assembler???