News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

I could recommend any website or any book, to begin programming in assembler

Started by sauware, April 10, 2015, 07:24:15 AM

Previous topic - Next topic

sauware

Hello friends

Do not know if this is where I should post this. I have experience in other programming languages high level, but I want to learn assembly with Masm32 and I have no idea how to begin.

I could recommend any website or any book, to begin programming in assembler

Thank You

jj2007


sauware


paul breen

The 6th and 7th edition of "Assembly Language for x86 Processors" by Kip Irvine take the approach of using Visual Studio and the up to date Microsoft macro assembler for complete programs. They have a library which is used to help the student get started with I/O etc. The source code for the library is provided and later chapters teach the student how to write their own library. The author and the publisher have websites to support the book. The Pearson site streams videos by the author that deal with exercises in the book. Another book, "Modern x86 Assembly Language Programming 32-bit, 64-bit, SSE and AVX" by Daniel Kusswurm Uses Visual Studio and the latest assembler from Microsoft (12 vs 6.x) with the attitude that C++ and inline assembly is the best way to learn assembler. The Kusswurm book has a lot more material dealing with the architecture of Intel processors relating to assembly programming than the Irvine book does. The Irvine book has a lot of exercises and review questions where the Kusswurm book has
none. Both books provide a lot of example code in the form of Visual Studio solution format.
Finally, the "x86 Instruction Set Architecture: Comprehensive 32-bit and 64-bit coverage" by Tom Shanley is a large book that attempts to explain the x86 processor architecture from the standpoint of the assembly programmer. He does not repeat the Intel documentation for any boilerplate type text.
All three books are for the Windows programmer using Intel terminology and format without any Linux / Unix / (Useless) fluff which pads a lot of books.

dedndave

the problem with Kip's books, he doesn't follow the windows ABI

try this one
Modern X86 Assembly Language Programming
by Daniel Kusswurm

KeepingRealBusy

Since you are familiar with higher level languages, write a simple "Hello World" in C, and compile with a ,lst file. Either step through this with a debugger, or just examine the .lst file output to see how the compiler does things. Then change the program to to scan an array of BYTES, then DWORDS to see what is generated. Then read the console for an input string, then read a file and copy it to another file. Step up to more and more complex programs and see what is generated.

This will not get you everything, or even the most efficient code, but it is a start that guarantees you that the code that is generated will work.

Then dig into the books and see what else is available, then look at the examples hee in MASM forum.

Dave.

dedndave

Dave's right
and, there isn't really a "perfect" book for windows assembly language, that i can see

many of us have learned from tutorials and examples to get started
and supplement with books, perhaps

books are good for learning:
data types
registers
instruction set
assembler syntax
assembly process and mechanics

writing programs, routines, algorithms are probably best learned elsewhere

you can learn a lot by examining the way the masm32 package is put together
\masm32\m32lib\*.asm files are assembly language routines for the masm32 library functions
\masm32\macros\macros.asm is a file full of macros
\masm32\include\*.inc files are includes that you can also learn from

hutch--

Don't be without the current Intel manuals, they have the full architecture, instruction set and optimisation guide.
The E-Book by Daniel Kusswurm is well done and worth buying and it has the advantage of being current assembler, not old junk from the DOS era.

Kip Irvine's text books are for students doing a semester on very simple assembler language where most of the other current material is designed for programmers who want to write useful assembler language procedures for their software.

sinsi

Quote from: dedndave on April 11, 2015, 01:43:49 AMModern X86 Assembly Language Programming
by Daniel Kusswurm
Just bought the ebook (pdf), it's on sale until the 15th for $20.99 US. Excellent for learning MMX/SSE/AVX.

https://masm32.com/board/index.php?topic=3868.0

http://www.apress.com/9781484200650

Vortex

Quote from: sauware on April 10, 2015, 07:24:15 AMI want to learn assembly with Masm32 and I have no idea how to begin.

You can read Iczelion's Win32 Assembly tutorials :
http://win32assembly.programminghorizon.com/tutorials.html
EDIT: Above link no longer works.
Try here:
http://web.tiscali.it/scambiosoft/

Gunther

You have to know the facts before you can distort them.

JBP

Quote from: sinsi on April 11, 2015, 06:35:49 PM
Quote from: dedndave on April 11, 2015, 01:43:49 AM
Modern X86 Assembly Language Programming
by Daniel Kusswurm
Just bought the ebook (pdf), it's on sale until the 15th for $20.99 US. Excellent for learning MMX/SSE/AVX.
http://masm32.com/board/index.php?topic=3868.0
http://www.apress.com/9781484200650

Thanks, I didn't get to it in time to catch the sale price..I'm going to keep an eye out for coupon codes at the usual places and grab this one soon as I can.