I've never coded in ASM myself, but I've been told it is quality stuff. Hard, but quality if you know what you're doing. I have one question, why ASM? Why not use C/C++/Java/C#?
Posted on 2003-03-02 21:46:37 by CompiledMonkey
You can read this text from Hutch's homepage:

Why Write in 32 bit assembler ?

Assembler affords the programmer looking for additional performance a three pronged approach in the pursuit of high performance software.

1. High performance executable files.
Executable programs built with Microsoft assembler have advantages in both size and speed when written correctly that is beyond the capacity of the best compilers. Performance critical software is a natural target for pure assembler programs.

2. Dynamic link libraries.
MASM can build very high performance dynamic link libraries that can be used by MASM, Visual C/C++ and Visual Basic as well as any other language that can call a DLL. This puts minimum size high performance files within the reach of any language that can call a DLL and allows the programmer to design processor intensive algorithms that are beyond the reach of the native language they are using.

3. Library modules for Microsoft Visual C/C++ programs.
MASM produces the identical object module format that is used by the Visual C+C++ compilers so the C/C++ programmer can build modules or libraries in MASM and directly link them into their own C/C++ programs. This allows the C/C++ programmer to target critical areas of their code in a very efficient and convenient manner, graphics manipulation, games, very high speed data manipulation and processing, parsing at speeds that most programmers have never seen, encryption, compression and any other form of information processing that is processor intensive.

For programmers who are not familiar with 32 bit Windows assembler, there is speed and performance available that you may never have seen before and contrary to popular legend, if you can write a Windows application in C/C++, Basic, Pascal or other similar compiler based languages, you can write it in MASM with very similar looking code if you bother to learn the MASM high level syntax.
Posted on 2003-03-03 03:17:41 by Vortex
Coding with asm is more fun than with HLLs.
Posted on 2003-03-03 15:17:25 by Odyssey
No bloat. :)

I have a VB program that is over 350kb (not including the controls or runtimes) and the asm version is on 25kb!
Posted on 2003-03-03 15:41:27 by Gunner
Don't compare VB to ASM, its not practical. Maybe Delphi to VB, that's fine.
Posted on 2003-03-03 16:39:05 by comrade

Don't compare VB to ASM, its not practical. Maybe Delphi to VB, that's fine.


Agreed. How about Java to ASM? With Java, the fact that you can write code that will run on any platform really appeals to me. With ASM, the fact that you must rewrite your application for each type of CPU doesn't impress me. I tend to write code for Intel/AMD on Win32, Intel/AMD on Linux/UNIX, or Sparc on Solaris.
Posted on 2003-03-03 16:59:55 by CompiledMonkey
Java is sooooooooo slooooooooowwwwwwwww.
Posted on 2003-03-03 17:00:58 by drhowarddrfine

Java is sooooooooo slooooooooowwwwwwwww.


IMO, it's portability is worth the speed. It's not like it was 5 years ago, with 3ghz CPUs the speed of Java has gotten much better.
Posted on 2003-03-03 17:03:36 by CompiledMonkey
well then java is now obsolete due to NET ;)


anyway for portable applications c/c++ turns out to be just as portable most of the time and vastly superior in terms of performance.

I never understood the importance or selling points of java and I never will, to me it's just another language I don't care about.
Posted on 2003-03-03 17:13:44 by Hiroshimator

well then java is now obsolete due to NET ;)


Whoa, you obviously don't know anything about either platform. ;)
Posted on 2003-03-03 17:15:35 by CompiledMonkey
with 3ghz CPUs the speed of Java has gotten much better.

How many here have a 3ghz cpu? And it's sooooooooooo slooooooooooow at 3 ghz. Anything less and ...:)
Whoa, you obviously don't know anything about either platform.
Uh, oh.
Posted on 2003-03-03 18:57:42 by drhowarddrfine



Whoa, you obviously don't know anything about either platform. ;)


no you just happen to be one of those 1% that need platform portability :p

the rest of us just happen to use 1 platform ;)

As for the .NET comment, it is possible that it will be MS' strategy to go for the runs on "several platforms" routine.
If they do Sun can kiss their java ass goodbye. Nobody does marketing better than MS :P
Posted on 2003-03-03 19:00:32 by Hiroshimator
How many here have a 3ghz cpu? And it's sooooooooooo slooooooooooow at 3 ghz. Anything less and ...


Good Point.The counter argument to using asm for speed reasons is always it is not necessary because of the processing power of the latest computers. But many people especially in developing countries like me don't have the luxury of these computers.
Posted on 2003-03-03 19:53:52 by Odyssey

How many here have a 3ghz cpu? And it's sooooooooooo slooooooooooow at 3 ghz. Anything less and ...:)


I'm not talking about client computers. My development is done for server side applications deployed on a clustered Sparc environment. Speed isn't a factor.
Posted on 2003-03-03 20:17:50 by CompiledMonkey



Agreed. How about Java to ASM? With Java, the fact that you can write code that will run on any platform really appeals to me. With ASM, the fact that you must rewrite your application for each type of CPU doesn't impress me. I tend to write code for Intel/AMD on Win32, Intel/AMD on Linux/UNIX, or Sparc on Solaris.


check out asmutils at

http://linuxassembly.org/

maybe some day thay will add win32 to the list there
Posted on 2003-03-03 20:18:30 by rob.rice

no you just happen to be one of those 1% that need platform portability :p

the rest of us just happen to use 1 platform ;)


Once again, I think this just comes down to what area of computing we target. From you comments, I would think ASM coders are more involved in client side programming. I personally am on the server side.


As for the .NET comment, it is possible that it will be MS' strategy to go for the runs on "several platforms" routine.
If they do Sun can kiss their java ass goodbye. Nobody does marketing better than MS :P


Microsoft build software to help an operating system not owned by them? Are you kidding? Even so, I'd hope developers and IT managers are smart enough to not be influenced soley by an ad on TV. Being a proven solution is what counts. J2EE has been proven many times. .NET has not.
Posted on 2003-03-03 20:21:14 by CompiledMonkey
hope developers and IT managers are smart enough to not be influenced soley by an ad on TV.
But that's exactly what does happen. Not necessarily from TV but the trade journals all spouting what their fed by the companies. Ya gotta have this language now because yada, yada, yada. It's the latest and greatest! All of a sudden everyone had to use C++ and asp and .net and C# an ado and etc. to the point that even the small company guy with just a couple of programmers feels the need to use languages he doesn't have to use.
Posted on 2003-03-03 21:09:32 by drhowarddrfine

But that's exactly what does happen. Not necessarily from TV but the trade journals all spouting what their fed by the companies. Ya gotta have this language now because yada, yada, yada. It's the latest and greatest! All of a sudden everyone had to use C++ and asp and .net and C# an ado and etc. to the point that even the small company guy with just a couple of programmers feels the need to use languages he doesn't have to use.


Yeah, it's really sad IMO. :(
Posted on 2003-03-03 21:11:29 by CompiledMonkey
I use asm artistically - I've never sold any software and don't have plans to.

When I program in asm the instructions used are exactly what are executed by the processor. There is a certain appeal to this kind of precision. It is getting to where the processor itself has too many abstractions even for the assembly language programmer to keep track (speaking about optimizing code for speed on a Hyperthreading processor). With advanced tools I think these difficulties can be overcome.

Slow software really drives the hardware market in the US. MS Office XP is such a sluggish bunch of pig programs. Yeah, I can do a lot with it, but don't try to work on much else at the same time. Most people use <10% of the features of Office, but 10% of what they do use is different from user to user.

All I know about Java is that one of the main programs at work was re-coded in it (from Delphi) and it is as slow as all hell. Nice thing is that they can add features relitively quick - they need to because it's really quite broken. A solution that is mostly clientside would have been perfect, but management doesn't think so. Management wants it a "web" application - maybe they have future plans to plug into their PDA's. Just because an application needs to get data from a server or communicate on the network, does not mean it needs to be a "web" application.
Posted on 2003-03-03 21:32:31 by bitRAKE

When I program in asm the instructions used are exactly what are executed by the processor. There is a certain appeal to this kind of precision.


That's what has caught my interest. :D
Posted on 2003-03-03 21:35:05 by CompiledMonkey