A word from Kang Su Gatlin regarding ML64, INVOKE and PROC

Started by MazeGen, September 26, 2007, 08:09:48 AM

Previous topic - Next topic

MazeGen

Because of few different rumors, it was still not clear to me if we can ever expect INVOKE and PROC directives support in ML64. Therefore, I have tried to ask (former?) Visual C++ Program Manager - Kang Su Gatlin - directly. Here is a part of our correspondence:

Quote from: MazeGen
Dear Kang Su Gatlin,

it seems to me you are really interested in MASM development so I'd like to ask you to get final answer: Is the MASM team going to support INVOKE and PROC directives, compatible with x64 software conventions, in ML64?

Quote from: Kang Su Gatlin
We won't likely see these directives anytime soon in ml64. And by anytime soon I mean that they're not in VS2008, and I think there is low probability that they'd be in the release of VS after that.

zooba

ML64 still contains the custom macro support from ML32 though, right? Surely we can come up with suitable equivalents?

Presumably those keywords will be free now, so they can be used elsewhere...

Cheers,

Zooba :U

hutch--

Karel,

Thanks for the info. Its unfortunate but it seems to be the way Microsoft is going at the moment in their DEV tools.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

MazeGen

Quote
ML64 still contains the custom macro support from ML32 though, right? Surely we can come up with suitable equivalents?
Yeah, that's why I asked him. I have almost done macros for x64 conventions, but I was unsure if I should finish them.

Quote
Presumably those keywords will be free now, so they can be used elsewhere...
INVOKE is free, PROC works partially: it luckily supports exception frame, but procedure arguments are handled like STDCALL in ML32 :(

Vortex

Quote from: zooba on September 26, 2007, 08:33:39 AM
ML64 still contains the custom macro support from ML32 though, right? Surely we can come up with suitable equivalents?

Presumably those keywords will be free now, so they can be used elsewhere...

Cheers,

Zooba :U

Yes, the custom macro support can be the best solution :U

zooba

If PROC still works partially, does that mean that OPTION PROLOGUE and OPTION EPILOGUE still exist as well?

It'll clearly take some community effort to make it work seamlessly, but this should make it relatively transparent.

Who knows, if we can come up with really solid macros for INVOKE and PROC, Microsoft may even be willing to include those in newer versions automatically  :toothy

Now I just need a 64-bit machine to test this stuff on...

Cheers,

Zooba :U

Vortex


zooba

Quote from: Vortex on October 02, 2007, 04:55:14 PM
Maybe running Xp 64-bit on a virtual machine?

I haven't heard of one that can run a 64-bit VM on a 32-bit host.

I think I'll probably invest in as cheap a box as I can just to much around with. But first I need a bit more free time than I have at the moment. Maybe in a month or two...

Cheers,

Zooba :U

MazeGen

Quote from: zooba on September 27, 2007, 08:13:08 AM
If PROC still works partially, does that mean that OPTION PROLOGUE and OPTION EPILOGUE still exist as well?

Yeah, these options luckily works :)

Quote from: zooba on September 27, 2007, 08:13:08 AM
It'll clearly take some community effort to make it work seamlessly, but this should make it relatively transparent.

I do my best to release first version of the macros in my spare time.

BTW, zooba, you're a native speaker, can you help me to pick the best name for this macro project? I'm thinking about Fastcalls or Fastprocs, does it sound silly? :) Or anyone has another idea?

zooba

Fastcalls is probably a bit too similar to FASTCALL (a calling convention), which if I recall correctly is the recommended calling convention for 64-bit.

Project names have never been my strong point so it might be best to open this to everyone. Frame64 or Proc64 are the best I have (after about 5 minutes). :bg

Cheers,

Zooba :U

Vortex

Hi zooba,

You are right. To run a 64-bit virtual machine, you would need a 64-bit host.