I recently moved to 64-bit NASM from 32-bit MASM, and I have a simple addressing problem.
I am writing a DLL in NASM. The following two lines assemble and link with the NASM assembler / GoLink, but when I try to load the DLL, I get an OS error "invalid access to memory location." RCX contains a pointer that is passed into the DLL:
mov rax,254
mov [rcx+8],rax
When I try it this way, it also doesn't work:
mov rax,254
mov [rcx+8],qword rax
The rest of the DLL is fine, just those two lines cause a load failure.
Thanks for any ideas.