The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: Snouphruh on September 13, 2005, 08:06:37 AM

Title: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on September 13, 2005, 08:06:37 AM
Hi, programmers!

I had spent many time to find out how to make MASM understand SSE2 instructions, but I failed. :'(
I just know that .xmm enables SSE1, .mmx - MMX, .k3d - 3DNow.
but what about SSE2, SSE3, 3DNow Professional, AMD64 and EM64T?

Does someone know?
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: AeroASM on September 13, 2005, 09:54:32 AM
For SSE2 you need either a macro file or MASM 6.15 or greater. You can get MASM 6.15 through a link on the forum website. Then .xmm will enable MMX, SSE and SSE2. For SSE3 you need a macro file, which you can get from the Intel website.
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on September 14, 2005, 06:42:35 AM
I have MASM 6.14 (ML.EXE 6.14.8444). it supports MMX, SSE and 3DNow.
but I got FASM 1.64 a couple days ago. FASM supports MMX, SSE, SSE2, SSE3, 3DNow Professional, AMD64 and EM64T.
It's free and there's a source code of it.
There're some examples, manual (PDF) describing FASM syntax and etc.

but I detected some things: MASM can produce more little file size (.EXE) than FASM does.
I have written a simple program that has only window.
MASM code is 1632 bytes. FASM code is 2048 bytes.
and when I add come code (I add one button and a ListView with three columns).
MASM code is 1744 bytes. FASM code is still 2048 bytes.
it seems there's an alignment. FASM uses a bigger alignment value than MASM does.
I don't know how to fix the alignment in FASM.
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: hutch-- on September 14, 2005, 08:22:15 AM
A couple of tricks with MASM. If you need to buold SSE2, update your version of VC6 with the processor pack and extract ML 6.15 which supports SE2. For file size, try the linker in MASM32 written by Pelle. Its smart and drops the file size very often.
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on September 14, 2005, 10:59:39 AM
Hey, man!
I've looked through my VC++ .NET and I got ML 7.10.3077

do you want it?
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: hutch-- on September 14, 2005, 11:09:40 AM
 :bg

You are not allowed to give it away but its a god version that supports SSE2.  :thumbu
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on September 15, 2005, 05:10:44 AM
hm... what can I do to allow myself to give files away?
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: hutch-- on September 15, 2005, 08:45:16 AM
 :bg

BUY ML.EXE from Microsoft.  :cheekygreen:
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on September 15, 2005, 11:05:54 AM
Sorry but we cannot allow commercial software subject to a licence to be posted as it is illegal.
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: bouza on October 07, 2005, 10:23:08 PM
Quote from: Snouphruh on September 14, 2005, 06:42:35 AM
I have MASM 6.14 (ML.EXE 6.14.8444). it supports MMX, SSE and 3DNow.
but I got FASM 1.64 a couple days ago. FASM supports MMX, SSE, SSE2, SSE3, 3DNow Professional, AMD64 and EM64T.
It's free and there's a source code of it.
There're some examples, manual (PDF) describing FASM syntax and etc.

but I detected some things: MASM can produce more little file size (.EXE) than FASM does.
I have written a simple program that has only window.
MASM code is 1632 bytes. FASM code is 2048 bytes.
and when I add come code (I add one button and a ListView with three columns).
MASM code is 1744 bytes. FASM code is still 2048 bytes.
it seems there's an alignment. FASM uses a bigger alignment value than MASM does.
I don't know how to fix the alignment in FASM.

[/quote Did you try WASM ?,  from OpenWatcom project. It is free and has MMX,  SSE,  SSE2 support]
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on October 10, 2005, 06:34:39 AM
Quote from: Snouphruh on September 15, 2005, 11:05:54 AM
Sorry but we cannot allow commercial software subject to a licence to be posted as it is illegal.

I'm sorry, but I live in Russia. Here you can get any software for very low price or, in some cases (friends), absolutely free.
As for me, I have never paid for it. I got all software, music, movies I have from my friends. They got their software and etc.
for free too.
There're shops selling CDs with software, games, mp3 music, mp4 movies and so on.
The price of a CD is $2.95, of a DVD is $4.45.
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on October 10, 2005, 06:37:54 AM
Quote from: bouza on October 07, 2005, 10:23:08 PM
Did you try WASM ?,  from OpenWatcom project. It is free and has MMX,  SSE,  SSE2 support]
Quote

no, I didn't.
How many bytes does it take on disk? (WASM)
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: gabor on October 10, 2005, 07:27:27 AM
Quote from: Snouphruh on October 10, 2005, 06:34:39 AM
I'm sorry, but I live in Russia. Here you can get any software for very low price or, in some cases (friends), absolutely free.
As for me, I have never paid for it. I got all software, music, movies I have from my friends. They got their software and etc.
for free too.
There're shops selling CDs with software, games, mp3 music, mp4 movies and so on.
The price of a CD is $2.95, of a DVD is $4.45.

Hi Snouphruh!

This is crime you are speaking about. I hope you are not proud of having "all software, music, movie"...

I guess there are lot of people out there with the same situation. Nevertheless I would prefer to silence about these things since we all work or at least have connections in the software biz and illegal software trade and distribution is the biggest plague. (Another is Microsoft's monopoly and yet another is the BSA, but this is an other story...)
I know there will always be annoying people being so shameless that they not just steal software but they even dare to resell them as originals.

I think the amount of software piracy shows the social and economical state of a country very well. In my opinion it is a shame when a country I mean the authorities let such shops proceed with illegal business... Corruption, crime... don't make a good ad for a country!

On the other side it is not hard to understand those people who create the demand for cheap, but illegal software.
I personaly dislike the game between MS, other big software componies and hardware vendors. It is ridiculous that I need a power plant computer to simply operate it with an OS or run a word processor or other basic applicatoins. (I speak about the newest versions. Old versin don't need the newest hardware.)... This is simply business to get more money from the defencless software buyers, nothing else.

I am a supporter of open source and free software initianives. I am against software patterns and against stupid developer tools and environments that waste lots of resource: need more CPU, more HD space... I feel sorry and I am terribly sad about seeing, experiencing that logic, intelligence, smart solution, with one word true programming is fading away because of the very fast tempo forced by the market.

Well, sorry for this by-pass. Maybe the post would fit better into a Soap Box topic... The few closing sentences can be interpreted as my credo of software development. According to it it is easy to understand why I stick to asm. I believe I am not alone. :)

Greets, Gábor
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on October 10, 2005, 07:46:22 AM
Quote from: gabor on October 10, 2005, 07:27:27 AM
According to it it is easy to understand why I stick to asm. I believe I am not alone. :)

Yeah! I do love Assembler too.
I'm not a greedy man. If I have new version of ML, I share it!
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: gabor on October 10, 2005, 07:54:22 AM
Quote from: Snouphruh on October 10, 2005, 07:46:22 AM
I'm not a greedy man. If I have new version of ML, I share it!

Well, you might have not fully understood me. If the new version of ML is not a freeware or shareware DO NOT SHARE IT! At least do not advertise this on the forum!
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on October 10, 2005, 08:34:43 AM
Quote from: gabor on October 10, 2005, 07:54:22 AM
Well, you might have not fully understood me. If the new version of ML is not a freeware or shareware DO NOT SHARE IT! At least do not advertise this on the forum!

I have understood you very clearly!
I just wanted to say I can share it if anyone is in need of it. That's all.
I share not the full package, just one ML.
If it's a trouble, I won't do that anymore. Ok?

piece, friendship, love?
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: rags on October 10, 2005, 04:24:16 PM
Quote from: gabor on October 10, 2005, 07:27:27 AM

I think the amount of software piracy shows the social and economical state of a country very well. In my opinion it is a shame when a country I mean the authorities let such shops proceed with illegal business... Corruption, crime... don't make a good ad for a country!

Gabor,
I agree with you.
I have seen news articles about how organized crime in Russia is involved with the distribution of ilegally copied software, with the apparent compliance of the authorities(ie: government).
Because when law enforcement officials from other countries make complaints about the practice, nothing ever gets done to curb the iilegal activities of  individuals or groups of people known to be involved with the piracy.
Just my two cents worth.
Rags
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: JFG on November 15, 2005, 10:25:20 PM
I think Microsoft does offer a free version of ML 7.1x.  Specifically, it offers something called Microsoft Visual C++ Toolkit 2003 for free, which is the compiler out of Microsoft Visual C++ 2003 .NET Professional Edition, as well as another package called Microsoft Visual C++ 2005 Express Edition, which has 64-bit code support, but cannot be used to make publishable software.  These can be found at <http://msdn.microsoft.com/visualc/vctoolkit2003/> and <http://msdn.microsoft.com/vstudio/express/visualc> respectively.  They say that the only catch with MSVC Toolkit 2003 is that it does not come with the Visual Studio IDE, so it has to be used as a command line compiler.  I suppose they figure this is enough of a penalty for all those programmers out there who are now thoroughly spoiled by the custom of using IDEs' GUIs and other such features, though this of course doesn't exactly prevent anybody from using third-party IDE-like programs.  There is one real catch though:  this compiler requires Windows 2000, Windows Server 2003, or Windows XP, so all those of us who don't have a computer with any of those operating systems cannot use this 'freebee' compiler.  MSVC 2005 Express Edition seems to have equally steep requirements; I could not find the minimum hardware requirements for MSVC Toolkit 2003, but those for MSVC 2005 Express Edition are a 600+ MHz CPU (1 GHz recommended), 192 MB RAM (256 MB recommended), and 500 MB hard drive space for a minimum installation, or 1.3 GB for a full installation.  Okay, so it's not completely free - strictly speaking - but at least for anybody lucky enough to have a computer that meets those requirements, that's a go.  I don't suppose though that many people who lack a computer like that have much use for the added CPU support in ML 7.1x anyway.
Title: Re: How to enable SSE2, SSE3, 3DNow Professional, AMD64 and EM64T instructions?
Post by: Snouphruh on December 27, 2005, 04:47:50 AM
It seems that my PC meets those requirements:
MB Asus A7N8X-E Deluxe
CPU AMD Athlon XP 3200+
RAM Hynix DDR500 256 Mb x 2
VC Asus nVidia GeForce FX5700 128 Mb AGP 8x
SB Creative Audigy 5.1
LS120 3.5" 120 Mb
FDD Mitsumi 3.5" 1.44 Mb
HDD Seagate 200 Gb SATA
CDRW Asus CRW-5232AS 52x32x52x
DVD Asus E616 16x48x
Case Inwin Q700 + PSU Hiper 520W ATX
KB BTC 8190
Mouse A4 Tech RP-49 Wireless Optic
Monitor Samsung 959NF
I bought it 1.5 years ago. I have nothing upgraded for last year.
I'm about to upgrade it in this summer (maybe autumn) to:
MB Asus A8N-SLI
CPU AMD Athlon 64 3200+
RAM Hynix DDR500 512 Mb x 4
VC Asus nVidia GeForce 6600 GT SLI x 2
SB Creative Audigy 2 ZS
DVDRW Asus DRW-1608P
Monitor Samsung 913N
It takes about 3 months to accumulate the money for this upgrade.
I have any software I need, like Microsoft Windows XP Professional SP2, Microsoft Office 2003 Professional, Microsoft Visual Studio 2003 .NET, Microsoft Platform SDK, Adobe Photoshop CS2, Borland Delphi 2005, Borland C++ Builder 6, and many many more (WinRAR, ACDSee, Far Manager and etc.).
I'm awaiting for the next version of Microsoft Windows.