News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

MASM64 SDK

Started by ecube, March 27, 2009, 12:10:22 AM

Previous topic - Next topic

ecube

i'm putting together a quick masm64 package, with binaries, libs, examples, macros, and documentation i've found throughtout this forum, Vista SDK and other places. Before I upload it, if you want to upload/post any of the above, that'd be fantastic.

UtillMasm

#1
唉...可惜我在32bit处理器!

ecube

Ok I uploaded the lil sdk I put together at http://d01.megashares.com/?d01=9d853e3 (10mb)

I recommend you extract or the let the program extract to \Masm64

This alpha verison consists of

*ml64, link
*all the 64bit .libs from the vista wdk
*converted .inc's from the masm32 package(I wrote a tool that converted to galops funcproto macro which I renamed to proto64 for example

32bit
DeleteExtractedFiles PROTO :DWORD

64bit
PROTO64 external,DeleteExtractedFiles, :QWORD


I didn't touch windows.inc yet or mess with any equ's, structs etc...

there are also build.bat's in each example folder but i'm having a little trouble with galo's macros so I hope you all take a look at the sdk and contribute anyway you like, theres examples how to use invoke


;this contains the invoke etc macros
include \Masm64\Macros\x64macros.inc

include \Masm64\Include\user32.inc
includelib \Masm64\Lib\user32.lib

.data
imsg byte 'this invoke feels like 32bit',0

.code
Main proc
invoke MessageBoxA,0,addr imsg,addr imsg,5
Main endp

mitchi

Very good package !!! I love you  :P
Everything works very well here. My only problem is that it installs like this C:\masm64\masm64\bin.

* After install I created a User Environment Variable called MASM64_PATH - > C:\MASM64
* Every example assembles and links fine afterwards. The only one that gives me problems is invoke2 and I saw your note on that issue.

BlackVortex

Looks like an awesome project, can't test because I'm still on 32 OS.   Now that I think about it, soon I will create a virtual Vista64 and start coming up to speed with 64bit asm.

MazeGen

E^cube, the license allows anybody to redistribute ml64.exe and link.exe?

Rainstorm

sounds real exciting,..unfortunately am on a 32bit os & can't try it out.

ecube

RainStorm thanksĀ  :bg and actually ml64 and the link are 32bit applications so you can build the examples on a 32bit system, just can't run them as you're aware. MazeGen it's my understanding that the answer is Yes, and the reason I say this looking over their license is

1)I'm not attempting to commericalize their freely distributed and used developers tools in anyway
2)I'm not attempting to infringe on their intellectual property, trademarks, or copyright by claiming ownership, or editing their binaries or libs in anyway.

I will include their license in the next upload, and provide a link to their sdk in a readme recommending users download the entire gig+ package if they want to experience everything it has to offer. I asked hutch to create a MASM64 sub forum, and mentioned you'd be a good moderator MazeGen, since you're very knowledgeable/helpful in the 64bit area.

mitchi thanks for mentioning the issue with the RAR extraction path, i'll fix it.

Vortex

E^cube,

Did you had the chance to try Pelle's 64-bit coding tools? ( I didn't have an opprortunity to try the 64-bit version. )

mitchi

Quote from: E^cube on March 27, 2009, 04:59:08 PM
RainStorm thanksĀ  :bg and actually ml64 and the link are 32bit applications so you can build the examples on a 32bit system, just can't run them as you're aware. MazeGen it's my understanding that the answer is Yes, and the reason I say this looking over their license is

1)I'm not attempting to commericalize their freely distributed and used developers tools in anyway
2)I'm not attempting to infringe on their intellectual property, trademarks, or copyright by claiming ownership, or editing their binaries or libs in anyway.

I will include their license in the next upload, and provide a link to their sdk in a readme recommending users download the entire gig+ package if they want to experience everything it has to offer. I asked hutch to create a MASM64 sub forum, and mentioned you'd be a good moderator MazeGen, since you're very knowledgeable/helpful in the 64bit area.

mitchi thanks for mentioning the issue with the RAR extraction path, i'll fix it.

Hahaha, so true. The gig+ package   :green

ecube

Vortex I experimented with compiling c code to 64bit abit and it seemed to work fine. I' not a very big fan of pelle when it comes to ASM development though, so don't have much interest in his tools.

donkey

Hi E^cube,

Take it from me, translating the includes to be 64 bit is a monumental task. They must be done almost from the ground up as even seemingly fixed definitions can change, for example many structure members that were previously defined as DWORD are now DWORD_PTR which expands to 64 bit while DWORD does not. Also complicating the task in MASM is the renaming of some structure members due to the lack of structure member label isolation in that assembler for example REBARBANDINFO.cx which I think Hutch changes to REBARBANDINFO.lx to accommodate MASM's shortcomings. At any rate, feel free to use my headers if you like, the next version will be a beta and should be out on Tuesday, it will include better handling of Windows versions through NTDDI constants instead of the WINxx and 0x0400 switches.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

ecube

donkey,
yeah I never intended to create this SDK alone, like hutch does for MASM32, my intentions are to just get the ball rolling and hope others help contribute so that we have something nice to use in the 64bit world. Recently my clients have been pressuring me more and more to produce 64bit versions of software i've written for them in the past(Most of which is almost exclusively written in masm32) and since masm64 isn't ready for me, i've been having to code in the dreaded C++ :(. When/IF Jeremy adds .IF etc directives I won't hesitate to give GoASM , a "GO" though as it looks like a fantastic project, with everything I need to develop 64bit applications in ASM as quickly as I have over the years for 32bit. I see now why you put your weight behind it, and thanks for the offer of allowing me to convert your headers, i'll take a look at them and give you full credit ofcourse, aswell as keeping your copyright etc in place.

donkey

Hi E^cube,

I think you'll like GoAsm, inline strings are intrinsic, it took around 5 minutes to switch Help2 Viewer to a fully unicode application (and most of that was my fault). More powerful invoke, no import libraries, static lib support, soon a simple WIN64 switch to convert all definitions to 64 bit, comprehensive COM support with thousands of class & interface GUIDs and definitions. And the fastest full featured assembler I have ever seen, hell even Betov tips his hat to its speed. It takes a small amount of time to get used to the more explicit syntax (for example memory operands must be enclosed in square braces [], long and short jumps have to be specified) but it is well worth it. And that doesn't even begin to touch on how it's scoping beats MASM hands down  :wink

I recently changed my opinion about run time conditionals and that pretty much got the ball rolling on it. One of the best features of GoAsm is we have direct access to the author and he maintains it diligently, I can't think of a feature that he has refused to implement without offering an explanation for why not.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

D.F.

Quote from: E^cube on March 27, 2009, 11:25:34 AM
Ok I uploaded the lil sdk I put together at http://d01.megashares.com/?d01=9d853e3 (10mb)
Can somebody upload this to other hosting website?
Because I'm still getting:
"All download slots for this link are currently filled."
:\