News:

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

Main Menu

64-bit: Why Can't I get "CreateFileA" to Access a File or Device?

Started by Dan-TheStarman, March 02, 2021, 06:56:24 PM

Previous topic - Next topic

hutch--

I have moved the propaganda to the 64 bit assembler sub-forum as this is the Campus that has rules against filling this subforum with arguments.

Dan-TheStarman

Quote from: nidud on March 04, 2021, 12:28:56 AM

Thank you very much nidud!!  That is what I needed to see: That the "rules" at Microsoft are full of ambiguities that never really explained what was needed.  It was quite difficult for me to realize from those "rules" that any parameters beyond the FOUR normally passed in the registers, MUST be in positions on the STACK (whether pushed there BEFORE; as in your example that helped me, or moved there later on), apart from any "Shadow Space" that must be reserved for RCX, RDX, R8 and R9.

I learn best by having a working example to follow, so now see how wrong my assumptions were from those "rules".

THANK YOU TO EVERYONE ELSE AS WELL ... and you can see from my posts here, how confused I was from trying to follow those "rules"!


Dan.

Dan-TheStarman

Quote from: hutch-- on March 04, 2021, 05:05:27 AM
I have moved the propaganda to the 64 bit assembler sub-forum as this is the Campus that has rules against filling this subforum with arguments.

My apologies Hutch!  I'm very sorry for not taking the time to search for that!  Like I said when I first joined here, I essentially have no experience in creating my own programs, but I'm somewhat OCD and a stickler for trying to get things right when it comes to references that students must depend upon for learning... So, right now I just might be more angry than you with the horrendous way Microsoft has treated this subject on their pages concerning their x64 calling convention! [ I finally see, through an example from "nidud," how the "rules" at Microsoft confused me more than helped me in making a functioning 64-bit program with their IDE. ]

I'm a firm believer in providing examples; for me it's one of the few ways I've been able to learn anything, and to state ambiguous rules the way Microsoft did on their site, with _No_ assembly examples to back them up, is rather negligent on their part. But I shouldn't have expected anything helpful there, since they've basically shoved stand-alone assembly programs to the side, using it only inside a higher-level language project when it can provide a faster routine when deemed necessary.


Dan.

hutch--

No problems Dan, I try to keep this sub forum free of debate as it drives people away.