Hey all,
I apologise for this very noob question but I have decided mainly out of personal interest to learn assembly.
I am currently using MASM interfaced with the WinAsm IDE.
I am not new to programming and have coded in various languages from C++, Java & Visual Basic 6
Simply put I wish to learn a lower level language to gain more control over the computer and optimize my C++ applications a bit  ;)
I am wondering if using MASM is the correct thing to do and if not which one should I use ( and preferrably a link to how to set it up or a description plz )
but my main question is: Does anyone have any idea of what tutorials are out there that will teach me assembly from the ground up
I hope I enjoy my time here @ the ASM Community and apologize for the noob question, im just a bit stuck.

Thanks,
v0rtex
Posted on 2010-08-10 11:02:59 by v0rtex
Please see the Iczelion's tutorials. That's something everyone should start with, I think.
Posted on 2010-08-10 11:48:47 by ti_mo_n
I have looked at the iczelion tutorials and noticed that they do not teach the theory behind the code,
I suppose I can simply look @ another tutorial for that, thanks, any more opinions are welcome and appreciated.
;)
Posted on 2010-08-10 11:54:34 by v0rtex
Iczelion's tutorials assume that you have a certain amount of knowledge about asm, and concentrate on implementing windows applications using the MASM assembler. They are most useful for those who already have an asm programming background but are new to asm under Microsoft Windows operating systems.

I wrote a set of tutorials called 'MASM for Morons' which is meant to act as a bridge from knowing absolutely nothing to understanding Icz' tutes - but it only holds your hand to build your first ever application, describing in detail every single line of a 'Hello World' sourcecode (it can take quite a few lines to completely discuss a single line of source).

If you really want the goods on coding asm under the x86 family, see Art of Assembly Language by Randy Hyde - you can find this published online as well as in book form.

Have a nice day :)

Posted on 2010-08-10 12:43:22 by Homer
Thanks alot, I will definitely give Art of Assembly a try, it looks very informative, now onto a different question, which IDE (if asm has IDE's) would be best? and how would I set it up etc... any information would be helpful
Posted on 2010-08-10 14:36:32 by v0rtex

which IDE (if asm has IDE's) would be best? and how would I set it up etc...


That is highly subjective and no one right answer exists. Everyone has an idea of what's "best" so if you ask 10 people you may get 10 completely different answers. I personally use both Ketil O's RadASM as well as Visual Studio IDEs. As far as setting up, read the manuals...


and a little side question: I have noticed that MASM uses somewhat of a mix of High-Level Code and Assembly, would it benefit me more to learn normal assembly code or this revised version *EDIT* I have noticed that Art of Assembly makes use of MASM *


All assemblers usually come with some form of macro system or intrinsics to provide a higher level abstraction to commonly used coding methodologies such as proc/invoke, if/end, do/while, etc. However, it would be more beneficial to you to understand how this is done without the higher level constructs so that you can better understand what they accomplish for you.


I apologize for the noob questions, I am just struggling with what sources to use etc, I had the idea that assembly was a language that was universal to all CPU's and have now realised that there are different versions of assembly (if you will) for different CPU architectures.


Welcome to the world of assembly programming ;)
Posted on 2010-08-10 17:42:07 by p1ranha
i would stick with the "high level" stuff till you get the hang of it.  then if you really want to write code more prone to errors, then you can use push and call.....  i use a mix of both....  i got used to invoke since it does type checking and parameter checking..
Posted on 2010-08-10 21:13:25 by Gunner
Thanks  :)
Im going to try GoAsm and a book entitled "PC Assembly language" by Paul A. Carter (http://www.drpaulcarter.com/pcasm/)
GoAsm seems to allow me to do low level coding and even though it might be very difficult, many seem to say it will be benefit me more in the future.
Luckily though the book mentioned above focuses around x86 Assembly code which is what I was looking for, thanks again. now to learn assembly (this might take a while, lol)
Posted on 2010-08-10 23:54:52 by v0rtex
Okay jeez, after struggling for a very length period of time, my GoAsm IDE just freezes whenever I try to assembler a program, I believe I have set it up right and after so much struggling have just opted to go for NASM, however with NASM I have found many ways to link/assemble code but am not 100% sure as to how to code in NASM (If that is possible)

Once again, I apologize for being such a noob but many Assemblers dont seem to work with windows 7 32 bit :/
I hope to start coding Assembly ASAP, Any help is appreciated.

Thanks,
v0rtex
Posted on 2010-08-11 14:36:47 by v0rtex
MASM, FASM, JWASM, GOASM all work here on Win7!  Must be your setup.  You keep saying Low Level and High Level....  Low Level to me is wiriting opcodes....  mneumonics are "high level"  ;)  Just pick an assembler and stick with it.  You will confuse yourself even more by switching right now...  You could start with MASM since it seems to be the easiest to learn, plenty of tutorials and sample code for it... one you get the hang of it, it isn't too hard to switch to a differant assembler
Posted on 2010-08-11 18:12:19 by Gunner
Ah Ok :) I might stick with FASM then because that has worked with no issues, anyone got any good tutorials for FASM?
Posted on 2010-08-11 23:33:11 by v0rtex
Examples Page @ FlatAssembler.net

As for NASM examples, take a look at the latest stable version of NASMX ;)
Posted on 2010-08-12 01:25:03 by SpooK
Finally this thread can be closed  ;) I am going to learn Assembly using the "Art of Assembly" book by Randall Hyde I have opted for a HLA language first as it will well firstly be easier and secondly give some common-ground between the High Level Languages I have learnt and assembly (hopefully), after I have delved into the book, I might opt to change to a more purist style of assembly.
Thanks for all the help,
I aim to continue using this forum in future days  :)

v0rtex.
Posted on 2010-08-12 08:53:41 by v0rtex
v0rtex, please reply to posts and only modify them to correct something. Modifying a post in-place confuses people as it won't be promoted to the top of the forum list.

Thanks. -SpooK
Posted on 2010-08-15 10:06:20 by SpooK
Will do  :), I apologise.
Posted on 2010-08-15 10:36:13 by v0rtex

Will do  :), I apologise.


No worries ;)
Posted on 2010-08-15 10:42:24 by SpooK

Iczelion's tutorials assume that you have a certain amount of knowledge about asm, and concentrate on implementing windows applications using the MASM assembler. They are most useful for those who already have an asm programming background but are new to asm under Microsoft Windows operating systems.

I wrote a set of tutorials called 'MASM for Morons' which is meant to act as a bridge from knowing absolutely nothing to understanding Icz' tutes - but it only holds your hand to build your first ever application, describing in detail every single line of a 'Hello World' sourcecode (it can take quite a few lines to completely discuss a single line of source).

If you really want the goods on coding asm under the x86 family, see Art of Assembly Language by Randy Hyde - you can find this published online as well as in book form.

Have a nice day :)


I couldn't access your website to read your tutorial:
http://stig.servehttp.com/homer
Could you mirror it or post it somewhere else?
Posted on 2011-10-04 05:34:07 by bolzano_1989
Bump: This site no longer exists. Redirect all queries.
Posted on 2012-05-31 05:49:09 by Homer