I am teaching an ASM course and would like to motivate my students by telling them about good programs written in ASM. Our textbook refers to the need to write some programs such as device drivers and games in ASM (instead of C or some high-level language) to get maximum speed. But there are no specific examples in the textbook of commercial or freeware software products so we have to take their word for it. I would like to download some demos in ASM and show them that real programs are still being created for use in the "real world" (besides just exercises and experiments to illustrate techniques). The machines are PCs running Windows 2000. I will appreciate any advice on motivation for using ASM.
Posted on 2001-12-31 14:22:03 by Dave
Hey Dave,

I think this is a pretty good idea... Well, there are a lot of little gems out there, which are complete Win32 applications.

Have a look at these:
Hostile Encounter (RTS Game)
A Mini MP3 Player
The ASM IDE links - most of them coded in Win32asm
Steve Gibson's page is also an excellent example of assembler in nowadays programs.

And many more are available under http://win32asm.cjb.net


Hope this gets you started ;)
JimmyClif
Posted on 2001-12-31 16:38:24 by JimmyClif
Hi Dave !

Happy new year and look out for those nice little DirectX-examples here ! It's always good to have examples with cool graphical outputs !

Greetings, CALEB
Posted on 2001-12-31 18:45:05 by Caleb
Hey you got my message from IBAMP, cool. Specificly look at this at Gibsons site, http://grc.com/files/am.exe

Edit: Corrected the URL.
Posted on 2001-12-31 19:24:06 by ChimpFace9000
Ay my site exagone.cjb.net you can find httpft (http file transfer). It's a small and simple program that allows you to transfer a file to someone. The receiver only needs a browser to download the file.
I'm working on the second version which is much more advanced.

Thomas
Posted on 2002-01-01 14:23:50 by Thomas
Likewise on Thomas' site you can find a MASM first: Our Object Orientated macro language specifically for MASM32. In my opinion its light years over the TASM "attempt", and much easier to implement.

Its not beginner level stuff, but it does show that you *can* think object style code organization at the assembly level!

:alright:
NaN
Posted on 2002-01-01 18:11:53 by NaN
Save, "in the real world" :), asm is usually only used for parts of
a project. In my oh-so-very humble opinion (which is probably a bit
heretic, on this board at least ;) ), there's not much use in doing 100%
assembly code, at least not for most applications.

Good examples of where asm is used? quake1/quake2 source,
which you can get from ID software for free :).
Posted on 2002-01-01 18:23:25 by f0dder
Thank you all for the suggestions and links. Steve Gibson's site is very interesting. I also discovered a site by David Parker (http://www.davidparker.com/library.html) that is truly remarkable!

NaN's reply also led me to MASM32 which is new to me. I am confused a little by the relationship between MASM and MASM32. I had contacted Microsoft recently to see if I could buy MASM and they told me that MS no longer sells MASM! But that it is freely downloadable as part of some developer kits (like MSVC++ PPACK and DDK, etc.) MS also told me that I could not distribute MASM to my students, but that they must get it from those developer kits. Is MASM32 a "legal" way for my students to get MASM? i.e. Does it come with a MS license to use it?
Posted on 2002-01-02 10:57:44 by Dave
A little PS NaN

TASM 's OOP model was/is not an "attempt" it was/is a full OOP implementation ...

too bad it was deep inside TASM, not some external macro so we can c/p them to MASM, but TASM's OOP model is fast, fast fast and very well done...too bad not so many ppl needed it...i guess it was way too much ahead of it's time

i have the TASM originals with manuals and every time i stumble over the OOP chapters i wonder how could they do such things 6 years bofore today...
Posted on 2002-01-02 18:40:29 by BogdanOntanu
dave,

make your students visit http://www.coderz.net/asm_infamy/infamy.htm

i am sure these stuffs will motivate some of they ;)

ancev
Posted on 2002-01-02 19:37:01 by ancev
Sorry if i was a tad bit insulting to all the TASM fans. But im proud of our work, and the book i have that discusses the TASM OOP features didnt impress me all to much... but i will admit i dont have the origional manuals and its possible that alot was overlooked in it (Mastering Turbo Assembler by Tom Swan).

But i still stand by MASM :grin: (still my favorite compiler)

:alright:
NaN
Posted on 2002-01-02 23:49:53 by NaN
Dave,

There are a couple of approaches to supplying your students with the basic MASM binaries, Microsoft supplied ML.EXE and a compatible LINK.EXE in the win98ddk and it supplies the libraries in the platformsdk so if you pick the right legal free downloads, you can supply these files to your students.

With ML.EXE you need to upgrade it with the 6.14 patch which is also a free download from Microsoft and you will have the binaries that are used in MASM32. MASM32 is supplied with the Microsoft EULA that specifies the rights of use for their binaries.

The later version of ML.EXE is somewhat problematic in that you supposed to own VC to download the processor pack that has version 6.15 in it. It is easy enough to download it by itself and get the correct files from the archive with winrar or similar but it is probably not within the licence conditions to use it that way unless you own VC so distribution may be a problem.

Regards,

hutch@movsd.com
Posted on 2002-01-03 06:00:58 by hutch--
My limited experience doesn't give me the ability to compare these two assemblers (TASM vs MASM), but the comments made did remind me that for those interested, there is extensive, objective comparison of the two assemblers in a book called: "Windows Assembly Language and Systems Programming" by Barry Kauler (http://www4.tpg.com.au/users/void/x86/index.html). He does not promote one over the other, but notes the strengths and weaknesses of both. By the way, is this the best win32asm book available? I think it is good, but a little too hard for me to understand (that may be just the complexity of the subject.)
Posted on 2002-01-03 12:04:51 by Dave
Hey Dave,
Check out this site by Iczelion (http://spiff.tripnet.se/~iczelion/tutorials.html) It has the best tutorials ( that I know of) on the net that I have come across. These tutorials also use examples using masm32. Ther are also examples for both tasm and masm32 there and links to other great pages. I trust this site will help you greatly in helping your students as well as you. I also have many other links to great pages just email me if you would like them.

RIF
My email is: dark_devil28@hotmail.com
Posted on 2002-01-03 17:30:42 by resistance_is_futile
now complete translated (but not reviewed):

the multimedia presentation software xCOMPOSER.pro
written in 100% Win32 asm.

You can download the demo version from here:
http://www.xcomposer.com

under "xCOMPOSER.pro" and "download".
It is the worlds first multimedia authoring tool which is easy enough, that also office users with basic knowledge can use it.

(any help for reviewing the english translation is welcome)
Posted on 2002-01-04 06:53:54 by beaster
Hi Dave

I just took ASM this fall, and got real into it, and after the help I got here I made this

http://busybeesolutions.com/cgi-bin/intro/poly.exe

Which was inspired by my last assigned asm program, to show a
polynomial and derivative in nice form,
I did'nt turn this in , I turned in the one made like the rest did in class just using Visual C as their assembler,
I made that CGI though with Masm32, but the fact I could make CGI in assembly inspired me, to learn more about ASM, but there is so much more to ASM, it's infinetless!

Show that to your that ASM CGI to your Class if you want

Andy!

:)
Posted on 2002-01-05 12:56:38 by andy981
Vecna,

I just downloaded and tested PACKLITE and it is working OK for a first release. I ran it on a 66k EXE file and it dropped to 38k and ran more or less correctly. The menu was missing and the bitmaps for the toolbar were not present so it appears that you do not have the resource section working correctly yet.

Specialised EXE compressors for small files are very useful to have around so feel free to do further work on this project as i am sure that many people would appreciate it when it is fully developed.

Regards,

hutch@movsd.com
Posted on 2002-01-05 19:13:32 by hutch--
Well, I've always liked watching those intros, they used to
be made by virus writer for their magazines.. now there are
competitions to see who can write the best intro in under
64kb (for example)..

You can find a couple of them at:
http://www.programmerstools.org/fun.htm , top section.

If your school also teaches C/C++ with Visual C++ then
you can prolly get the linker easily and legaly enuff from
there.

After a while you begin looking for files like rc.exe, etc
to add resources and etc to your project... just download
the masm32 package to find most of that stuff.
Posted on 2002-01-07 01:07:04 by matthew