Dear ASMers,

Writing and sharing information would be a great idea, folks. as Randy pointed out, APJ needs to be resurrected. I am willing to write even though I fairly new to asm. Why shouldn't you? Please do get in touch. Write more to share, and you'll learn more than you can only by reading. It's proven that writing is 3 times better than simply reading. Use all your senses and help others do too.

Posted on 2003-10-22 13:13:06 by art_sands
Nice work Hiroshimator,

I've started liking Wiki a lot. I only hope it doesn't lead to chaos. I have made some changes in the content. And btw are you Carsten Klapp?

Posted on 2003-10-22 14:10:24 by art_sands
nono :)

it's not my code :)
Posted on 2003-10-22 14:35:32 by Hiroshimator
im back,

wiki is good:alright:. i've already made some changes. hope this works.

Art :)
Posted on 2003-10-22 14:42:48 by art_sands
if you really are going to write a book then you should write the skeleton first

so the index, a broad guideline of what you will cover from beginning to end.
Posted on 2003-10-22 15:08:03 by Hiroshimator
dear hiroshimator

if you really are going to write a book then you should write the skeleton first so the index, a broad guideline of what you will cover from beginning to end.

as a matter of fact, i have already started doing it.

Posted on 2003-10-22 16:16:17 by art_sands
art_sands, very good idea - especially wiki! I will help as much as possible to create a solid resource similar to, but for assembly language. :alright:

Wonder is there is a Wiki to PDF/CHM program?
(there should be, imho)
Posted on 2003-10-22 20:47:12 by bitRAKE
Thx bitRAKE

Have learn't a lot from your stuff too. Hope other's do too. Thx again for helping out.

The first draft for Chapter 1: Getting Started (Tools of the trade) and Chapter 2: Introducing Win32 ASM is getting ready for delivery to the wiki website. The outline as of now (only draft proposal) is as follows:

Chapter 1: Getting Started
Tools of the trade

Hardware Requirements
Software Requirements
Microsoft Windows
MASM32 Package
IDE or Text Editor
Microsoft MASM 6.1 Programmer's Guide
Microsoft MASM 6.1 Getting Started
Microsoft MASM 6.1 Reference
Win32 API Reference
Iczelion's tutorials
Madwizard's tutorials
Online References
Win32 ASM Online Forum []
MASM32 Online Forum []
Iczelion's website and more......
Setting up MASM32
Registry Tips
Command Window
Command Window Parent
Assemble 32-bit
Link 32-bit
Compile Resource
Posted on 2003-10-23 00:23:52 by art_sands
Chapter 1: Getting Started
Tools of the trade

_____Hardware Requirements
_____Software Requirements
__________Microsoft Windows
__________MASM32 Package
__________IDE or Text Editor
_____Microsoft MASM 6.1 Programmer's Guide
_____Microsoft MASM 6.1 Getting Started
_____Microsoft MASM 6.1 Reference
_____Win32 API Reference
_____Iczelion's tutorials
_____Madwizard's tutorials
_____Online References
__________Win32 ASM Online Forum []
__________MASM32 Online Forum []
__________Iczelion's website and more......
Books you can use
_____The Art of Assembly Language Programming, 16-bit version (Randall Hyde, free online at
_____The Art of Assembly Language Programming, 32-bit version (Randall Hyde, free online at
_____Graphics Programming Book, (Ron Thomas, free online at
_____IBM PC Assembly Language and Programming, Peter Abel
_____Assembly Language Programming for the PC, John Socha and Peter Norton
_____Assembly Language, Programming for the IBM PC Family, William B Jones (CSU)
_____The Pentium Microprocessor, James L. Antonakos
_____Learn Microsoft Assembler In A Day, Stephen K Cunningham (i think this is online for free too, dunno where)
_____Programming Windows, 5th Edition, Charles Petzold
_____Microsoft Windows 2000 API Superbible, Richard J Simon
[[ am i missing somethin let me know ]]

Setting up MASM32
Registry Tips
_____Command Window
_____Command Window Parent
_____Assemble 32-bit
_____Link 32-bit
_____Compile Resource

Any suggestions for restructuring or reorganization with proper reason are welcome.

Posted on 2003-10-23 00:35:33 by art_sands
1 remark please don't make it too masm specific (there are so many sources about masm already)

I think other compilers deserve an equal place in the spotlight like fasm. (who knows where masm/fasm will be in 2 years?)
Also I think what's needed is a book that describes asm and all things one has to do with it, jumps, conditional jumps, conditions, mathematics,.... those things first and thorough. especially things like floating point and newer stuff like extensions such as MMX maybe? (what are they good for, when should you use them,...) and only then proceed to a gui window world?

do we need an other such wiki for what you intend to make bitRAKE? The wiki can be downloaded as html pages which in turn can be transformed to .chm and maybe even PDF PHP itself can make PDF files as well but I never tried that option before (don't know how much it can accomplish)
Posted on 2003-10-23 03:26:25 by Hiroshimator
Dear Hiroshimator,

One problem with writing for other assemblers is that "I currently know only MASM". I've never used FASM before. But this doesn't mean the book will contain only MASM-specific code. Supporting other assemblers including FASM, GoASM, and NASM will require effort from other specialists.

There are two other problems to address while using different assemblers that you may have mistakingly overlooked. It will become a headache for the beginner to comprehend the differences in syntax and available facilities for the various assemblers. A better option would be to first learn using MASM, and then go on with the other assemblers. The second problem is that MASM is widely accepted and many books have already been written based on it. So, our reader can be an absolute beginner or he may have at least started reading some book.

Additionally, code for all the assemblers can be provided for the beginner to learn the syntax of the assemblers later on.

And about where MASM/FASM will be a couple years from now, don't forget that even though FASM is under active development, MASM is being developed at Microsoft labs too. I read somethin about a version 7.00 somewhere on MSDN being available with VS .NET 2003. Who knows what will be next?

You're probably right about the fundamentals of assembly language and the instruction set being included in the book. But then, we already have AoA which covers most of that.

Do let me know what you think about this.

Posted on 2003-10-23 03:52:44 by art_sands
art_sands, I agree with Hiroshimator - it should be x86 wiki - not MASM wiki. Your chapters really are in the middle - not the begining. :) What about Linux x86, and OS development (Menuet). I think it should be created in an expansive way, so that all kinds of specialists can document where they are comfortable and knowledgable.

Hiroshimator, thanks for the offer, but I am not prepared to work on a separate Wiki at this time. I like the dialog format of the board too much. :) I've been trying to wrap by head around an x86 algorithm resource integrated with a project builder to make very large ASM project development possible. For example, if I designed a program using MD5 the project builder would allow creating different builds based on the destination CPU and optimization requirements (size/speed) and the MD5 code would be on the web somewhere maintained by someone else, but implementing a specific interface that wouldn't change (or could change and the builder would adapt). Posted on 2003-10-23 08:40:57 by bitRAKE
hiya bitRAKE,

I gave that some thought...:alright:

We'll do it that way then. I'll have to get started with FASM and the other assemblers.

Can you propose some kind of structure for the wiki then. I hope that will help a lot. Go on and edit the wiki at the following url to show what you mean:

For now though, I am continuing writing my articles using MASM and am gonna start up with converting them to FASM.

Posted on 2003-10-23 09:06:46 by art_sands
If you ask me, I think the most important thing is that the programmer get the bitwise stuffs right. :) I know this may sound stupid, but I met HLL coders that do not know a *blink* about them, and assembly do use much of them to a certain extent. So I propose one chapter be written on it. I have wrote something on it last time. The attached file is what I had written.
Posted on 2003-10-23 09:33:31 by roticv
Dear roticv

You're damn right. Most HLL programmers who dunno ASM are real dummies when it comes to dealing with the bits. If you ask them about it, they go :eek:. And anyway, thanks for contributing to the book. Please include your name and userid in the articles you post if you want us to give you proper credit. We don't want to be searchin for peoples names when the book is ready to be published

thx and nice work anyway keep it up

Posted on 2003-10-23 10:12:23 by art_sands
You have a good idea here but I have something else you might also want to think about. One of these reasons why beginners have problems learning assembly language is because of the lack of a library of commonly used routines for them to use. So I was thinking as part of this project you're working on maybe you can also work on a library of routines for masm and maybe other assemblers also. Something like what Randy had done with the HLA Standard Library. When someone starts learning assembly language it would they would like to start writing simple programs but to read a string from the console they would have to learn about the windows api and how to write procedures in assembly language etc. What I'm basically saying is that a library would allow beginners to get up and running quickly so that they don't have to learn tons of information before they can do anything.
Posted on 2003-10-23 11:51:46 by Odyssey

Thnx for your suggestion. I will definitely give some thought to it even though writing a such a library of routines is a monumental task to accomplish.

And keep posting and let us know of more suggestions.

bitRAKE and hiroshimator, i'm trying to convert my MASM programs to FASM ones. As of now i'm busy with win32. I think i'll get on with general x86 later on.

Posted on 2003-10-23 12:47:14 by art_sands
masm32lib is a good "standard library". Just port it to FASM and others...

Posted on 2003-10-23 18:14:44 by _Shawn

bitRAKE and hiroshimator, i'm trying to convert my MASM programs to FASM ones. As of now i'm busy with win32. I think i'll get on with general x86 later on.
There is nothing that says you must learn FASM and convert everything to FASM -- there are most likely people already adept at FASM that can work in that area if you like to continue with the original work you were compiling. (Of course, I mean nothing against FASM.) Like me for example, I'm just going to stick with some algorithm and macro stuff - I might have some comments on some other stuff but I really don't dedicate the time others do in those areas.
Posted on 2003-10-23 20:56:12 by bitRAKE
dear bitRAKE

oh i sure don't mean to convert everything to FASM it is a lot similar. Only a few changes here and there. has a better grammar i suppose. i propose to provide examples in both MASM and FASM in the book if i can. that's it.

and you were probably right about writing for x86 earlier. People who have been on this board for like ages still ask questions like setting and clearing bits, the use of XOR, and other such fundamental stuff. It would be better if we could address them permanently. So, i might as well write some detailed stuff on asm while introducing it very mildly and then build up with the book.

i've seen some of your excellent work on algorithms and macros, so i'd i suggest you write stuff on the topic, if that's ok with you.

we'll look into that

Posted on 2003-10-23 21:06:11 by art_sands