Hello
Recently, I've been working on the translation of the Windows header files, a project started a few years ago by Japheth and which I've continued in the last months. Since the headers are independent of the bitness and I had more and more problems keeping ObjAsm32 and ObjAsm64 in sync, I was thinking about merging them into a single project.
The complexity of the backend will become higher, but at high level, like switching from ANSI to UNICODE, it should go seamlessly.
I can think about a project section of shared code and macros and 2 dedicated sections for 32 and 64 bits. :idea:
The idea behind is use put as much as possible in the shared section to reduce the synchonization work. To achieve this, the 32 bit GPRs should be written that way to fit to the proper bitness. For example, using a macro, xax will become eax for 32 bit and rax for 64 bit. This will work for the vast majority of the cases. If not, a code path or a dedicated file will be necessary.
I know about other projects, like DualInc, that went this way too. But before I start mixing everything together, I would know what problems you had doing so. ;)
Thanks, Biterider