The MASM Forum Archive 2004 to 2012

Project Support Forums => 64 Bit Assembler => Topic started by: ecube on March 27, 2009, 12:10:22 AM

Title: MASM64 SDK
Post by: ecube on March 27, 2009, 12:10:22 AM
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.
Title: Re: MASM64 SDK
Post by: UtillMasm on March 27, 2009, 03:18:17 AM
唉...可惜我在32bit处理器!
Title: Re: MASM64 SDK
Post by: ecube 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)

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
Title: Re: MASM64 SDK
Post by: mitchi on March 27, 2009, 02:16:56 PM
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.
Title: Re: MASM64 SDK
Post by: BlackVortex on March 27, 2009, 02:22:11 PM
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.
Title: Re: MASM64 SDK
Post by: MazeGen on March 27, 2009, 02:23:30 PM
E^cube, the license allows anybody to redistribute ml64.exe and link.exe?
Title: Re: MASM64 SDK
Post by: Rainstorm on March 27, 2009, 02:35:39 PM
sounds real exciting,..unfortunately am on a 32bit os & can't try it out.
Title: Re: MASM64 SDK
Post by: ecube 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.
Title: Re: MASM64 SDK
Post by: Vortex on March 27, 2009, 06:49:11 PM
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. )
Title: Re: MASM64 SDK
Post by: mitchi on March 27, 2009, 08:31:10 PM
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
Title: Re: MASM64 SDK
Post by: ecube on March 27, 2009, 10:39:21 PM
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.
Title: Re: MASM64 SDK
Post by: donkey on March 28, 2009, 05:45:25 AM
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.
Title: Re: MASM64 SDK
Post by: ecube on March 28, 2009, 06:07:40 AM
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.
Title: Re: MASM64 SDK
Post by: donkey on March 28, 2009, 08:08:25 AM
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.
Title: Re: MASM64 SDK
Post by: D.F. on December 21, 2009, 05:58:14 PM
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."
:\
Title: Re: MASM64 SDK
Post by: D.F. on December 21, 2009, 09:20:17 PM
Thanks.

I reuploaded this for others:
http://www.fastshare.org/download/Masm64.exe
or
http://rapidshare.com/files/324083249/Masm64.exe
or
http://pliczek.net/index.php?p=23608 (at the bottom is button: "POBIERZ PLIK")
Title: Re: MASM64 SDK
Post by: habran on December 29, 2009, 07:05:38 AM
Hi E^cube,

"JWasm (http://www.japheth.de/)" is what you need to have all the features you miss in ml64.exe
There is no need to write protos like E.G. "PROTO64 external,ActivateActCtx, :QWORD,:QWORD" you can use only "ActivateActCtx PROTO :QWORD,:QWORD"
We should all be grateful to Japheth who wrote JWasm.exe and made it available for free together with the source code

regards
Title: Re: MASM64 SDK
Post by: ecube on December 30, 2009, 01:38:36 AM
Yes, Japheth is my hero.
Title: Re: MASM64 SDK
Post by: japheth on December 30, 2009, 10:57:18 AM
Quote from: E^cube on December 30, 2009, 01:38:36 AM
Yes, Japheth is my hero.

Thanks!

This your new humble and honest attitude is ways better than your previous image ( you know, this "angry American super-patriot fighting everything and everyone which dares not to praise the glory of God's Own country" thingy ). You're able and willing to learn, that's a good sign!

Title: Re: MASM64 SDK
Post by: mitchi on December 30, 2009, 05:35:46 PM
Personal growth is always possible to some extent  :bg
Title: Re: MASM64 SDK
Post by: ecube on December 30, 2009, 08:13:56 PM
Quote from: japheth on December 30, 2009, 10:57:18 AM
Quote from: E^cube on December 30, 2009, 01:38:36 AM
Yes, Japheth is my hero.

Thanks!

This your new humble and honest attitude is ways better than your previous image ( you know, this "angry American super-patriot fighting everything and everyone which dares not to praise the glory of God's Own country" thingy ). You're able and willing to learn, that's a good sign!



So is sarcasm...you're still arrogant as ever I can see. And i'm not a super patriot, but reading about the entire world constantly whining about the US, at that time, was annoying, so I spoke up. You have done good work with JWASM, I don't think anyone would deny that, but your almost guarenteed negative response for anyone who asks questions isn't "humble" nor mature, so perhaps you should look at yourself on learning.
Title: Re: MASM64 SDK
Post by: D.F. on January 01, 2010, 09:24:47 PM
jWasm is great.

What a stupid idea to remove normal protos from ml64.exe ...
Title: Re: MASM64 SDK
Post by: GregL on January 02, 2010, 03:32:02 AM
QuoteWhat a stupid idea to remove normal protos from ml64.exe ...

You don't need them

  EXTRN WinAPIFunction:PROC

works just fine.

Title: Re: MASM64 SDK
Post by: D.F. on January 03, 2010, 01:19:19 PM
Right, but is there any way to use invoke in masm64?
Title: Re: MASM64 SDK
Post by: ecube on January 03, 2010, 06:37:54 PM
Quote from: D.F. on January 03, 2010, 01:19:19 PM
Right, but is there any way to use invoke in masm64?
JWASM supports it, and it also supports 64bit, so you can use that. I plan on adding invoke to my preprocessor, so when I upload new version it'll allow you to use with ml64, without the need of any proto's.
Title: Re: MASM64 SDK
Post by: ShadoWWinL on February 23, 2010, 04:12:56 AM
 :bg
不知道是否能用到vs 2008 64bit 的独立汇编上。
Title: Re: MASM64 SDK
Post by: hutch-- on February 23, 2010, 05:15:44 AM
こんにちはシャドウ、ボードを歓迎する。

Hi Shadow, welcome on board.
Title: Re: MASM64 SDK
Post by: BlackVortex on February 23, 2010, 05:17:15 AM
They see me google-translating, they hatin'   :lol
Title: Re: MASM64 SDK
Post by: hutch-- on February 23, 2010, 05:30:31 AM
Try it in Japanese.

こんにちはシャドウ、ボードを歓迎する。 = "Shadow Hello, welcome to the board."
Title: Re: MASM64 SDK
Post by: hutch-- on February 23, 2010, 05:39:19 AM
喜阴影,在船上的欢迎。

Hi Shadow, welcome on board. (This time in Chinese).
Title: Re: MASM64 SDK
Post by: aker on February 25, 2010, 05:04:27 AM
huan1 ying2 nin2(in mandarin pinyin)
your comming is so good(hahah)
Title: Re: MASM64 SDK
Post by: dacid on February 28, 2010, 10:48:57 PM
I used Tasm (EXTRN) long time ago..  moved to Masm (Invoke) and now EXTRN again?   ::)

Title: Re: MASM64 SDK
Post by: BlackVortex on March 01, 2010, 07:56:30 AM
Quote from: dacid on February 28, 2010, 10:48:57 PM
I used Tasm (EXTRN) long time ago..  moved to Masm (Invoke) and now EXTRN again?   ::)


ml64 sucks, time for you to move away again   :toothy
There are proper x64 assemblers around this forum.