Just for fun, I wrote up a quick tutorial for basic assembly. At present, it's only in the form of a PDF document, but I'll eventually get around to adding it to my website.

Evenbit commented: excellent resource +3
William Hemsworth commented: Very nice tutorial, I actually understood it :) +2
NicAx64 commented: nice work Narue , so you are a nasm lover aren't you me too. Keep it up. And also a suggetsion just change that font in the tutorial to courier font , really hard to read the kerning fonts. +1
sergent commented: Really nice! +0
<M/> commented: Random upvote +10
hefaz commented: Thanks but Why you prefer nasm ? Just one reason? +0

Recommended Answers

All 31 Replies

Just to note that there's a bug in the code near the end. I just noticed that I intended to use 'invoke' as the subroutine macro, but was too used to my usual 'scall' when I wrote the programs. Change this:

%macro invoke 2-*

To this:

%macro scall 2-*

And you won't need to make any changes to the example programs. :)

I just joined daniweb and i'm having trouble accessing the pdf. it says i need to register :(

Just for fun, I wrote up a quick tutorial for basic assembly. At present, it's only in the form of a PDF document, but I'll eventually get around to adding it to my website.

Just a couple of quick notes:

o You might want to talk about the structure of the CPU first before giving ANY code.

o You might want to describe an intruction before you use it in a code listing.

o What about comments beside the code?

o Remove sentences that don't contribute to learning assembly.

o Maybe split this into about 3 sections/chapters?

A really good start!

Nathan.

Can you divided the assembly section to different assembler ground it will be must easier...

for example HLA ,NASM ,..........etc

Just for fun, I wrote up a quick tutorial for basic assembly. At present, it's only in the form of a PDF document, but I'll eventually get around to adding it to my website.

To encourage you to do more, here is a little more feedback on your tutorial. For these, I will reference section headings and paragraphs --

Prerequisites:

o Well, you know what they say about assumptions. ;)

Notes about the Tutorial

o P2 - "inconjunction"
o Maybe give a link where they can get GCC?

Basic Components (.data section)

o In P3, the sentence about dq and dt -- do you need it?
o Code comments are inconsistent.
o Leaves a question open of how many bytes are allocated.

BETTER:

myvar: ; Declare a variable
myvar: db ; Initialize the variable
myvar: db ‘Hello, world!’,10,0 ; Allocate 15 bytes (this is a C-style string)

Registers

o P2 - "The four registers break down" which four??

The rest of the document gets better, so I'll stop here.

Nathan.

Microsoft’s (CPR) critical problem resolution platforms team's escalation engineers are writing blogs that help people understand assembly in a real world windows environment. The blogs contain a lot of assembly annotation and cover advanced debugging of the windows environment without source in some cases. I think you will find it’s worth a visit.

http://blogs.msdn.com/ntdebugging

< knock, knock > Hello? Anyone home?? Is there a sequal on the way???

Nathan.

Great work! This is hands down the best intro to ASM!!!! Hope to see a part II.

Nice work :), This looks like a good tutorial and Ive never really managed to get the hang of asm, Thanks!

Why is it that nothing happens when I call prog.exe after having done what you said in the tutorial? :'(

If it's something processor specific or cpu specific or something, please tell me what to write in google to find the right manual :?:

Anyway.. thanks for the tutorial :)

Take care
-Daniel

Just for fun, I wrote up a quick tutorial for basic assembly. At present, it's only in the form of a PDF document, but I'll eventually get around to adding it to my website.

Oh dude, just what I needed!!! Thanks alot!!!!

The link seems to be broken

hello everybody i just have one question how can i introduce an array in Assembly language?
I was ask to write a program that will add numbers from 10 to 20 and i need someone's help

@jeanclaudedjahlin, please create your own thread instead of hijacking this one.

useful pdf, thank you.

it very good i love this pdf
thanks

big thank you

will it be useful to learn 86 assembly when there are 64

You choose the assembly language that is appropriate for the target processor

Awesome :)

Sir! my question is that which IDE is used for assembly language programming.?

Just use any text editor, If you are on MS-Windows then Notepad++ is a good one to use because it has color highlighting.

But Sir! How will we compile a notepade written code into exe. Sir please kindly post its complete manual that how will i compile my code into exe.
i shall be thankfull of you Sir!

It's not the IDE that compiles your source code, it's a program called an assembler. The IDE just provides a flashy GUI front-end to integrate it all, but for assembler it's really not needed. You write your code up in a text file, much like in an IDE, then instead of asking the IDE to run the assembler for you, you just run it directly yourself. Check out NASM, a good free assembler.

Thank you very much!

I am an old fan of aseembly so simple no frills just runs superfast no overheads

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.