News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

HTML page to describe how the Win 64 calling convention works.

Started by hutch--, August 23, 2016, 10:58:08 AM

Previous topic - Next topic

hutch--

Like most who have tried before me, the road to successful Win 64 assembler is laced with many landmines along the way, appalling documentation that is often wrong, trivial examples that tell you very little and the endless clutter of "C Speak" waffling on about unwinds, SEH and the like. After trawling through this mountain of crap and eventually learning how to successfully both call and write functions in Win 64, I have bothered to write a HTML page on how it works so that other who come after me who are interested can tread on a few less land mines than I have.  :P

The HTML file is in the format I will be using to make CHM help files and it is in the attachment to this posting.

Any feedback from a fellow sufferer would be useful.

PS: If anyone lives near CyberBob, the author of ArkDasm, feel free to shout him a carton of beer for his efforts, it has been an invaluable tool in the research into how Win 64 and ML64.EXE work.  :t

jj2007

Looks good, Hutch :t

One ambiguous point: "The first four stack addresses are [rsp], [rsp+8], [rsp+16] and [rsp+24]which are left empty."
That is before pushing the ret address, of course.

hutch--

No, not exactly, the 4 stack locations move when you push the return address and with a stack frame you add another push so the 4 stack locations when EBP relative start from [ebp+16].

Raistlin

Hi hutch,

You're efforts in this regard are invaluable. Please might I ask that we add it to the main www.masm32.com pages.
A perfect home for it would have been the related links page (I miss this feature dearly <sniff>) - it use to list donkey's,
angner etc. related resources, plugins and other awesome stuff including tuts. Are they all defunct now? Anyhow love
the work - keep it up, one day I'll make it to OZ and buy you a case of beers, promise.  :P

Raistlin
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

hutch--

 :biggrin:

> I'll make it to OZ and buy you a case of beers, promise.

Only if you help to drink it.  :P

GoneFishing

Quote from: hutch-- on August 23, 2016, 04:39:59 PM
Only if you help to drink it.  :P

If I were in OZ I could help you with beers, Hutch
I hope you have enough free space in your backyard  :biggrin:

K_F

Bloody low life... I'll have to introduce you lot to cultivars of red 'aviation juice'...  :biggrin:
'Sire, Sire!... the peasants are Revolting !!!'
'Yes, they are.. aren't they....'

mineiro

I'd rather be this ambulant metamorphosis than to have that old opinion about everything