1,105,644 Community Members

Let's learn assembly!

Member Avatar
Narue
Bad Cop
12,139 posts since Sep 2004
Reputation Points: 5,693 [?]
Q&As Helped to Solve: 1,537 [?]
Skill Endorsements: 81 [?]
Team Colleague
 
14
 

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.

Attachments learnasm.pdf (124.87KB)
Member Avatar
Dani
The Queen of DaniWeb
20,566 posts since Feb 2002
Reputation Points: 1,356 [?]
Q&As Helped to Solve: 931 [?]
Skill Endorsements: 204 [?]
Administrator
Featured
Sponsor
 
0
 

Thank you! :)

Member Avatar
Narue
Bad Cop
12,139 posts since Sep 2004
Reputation Points: 5,693 [?]
Q&As Helped to Solve: 1,537 [?]
Skill Endorsements: 81 [?]
Team Colleague
 
0
 

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. :)

Member Avatar
webeturtle
Newbie Poster
1 post since Apr 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Member Avatar
Evenbit
Junior Poster
139 posts since Mar 2005
Reputation Points: 52 [?]
Q&As Helped to Solve: 6 [?]
Skill Endorsements: 0 [?]
 
0
 

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.

Member Avatar
uaefame
Newbie Poster
6 posts since Apr 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

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

Member Avatar
mostafadotnet
Junior Poster
157 posts since Jul 2006
Reputation Points: 18 [?]
Q&As Helped to Solve: 13 [?]
Skill Endorsements: 0 [?]
 
0
 

Just thanks.

Member Avatar
Evenbit
Junior Poster
139 posts since Mar 2005
Reputation Points: 52 [?]
Q&As Helped to Solve: 6 [?]
Skill Endorsements: 0 [?]
 
0
 

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.

Member Avatar
ntdebug
Newbie Poster
1 post since Jun 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Member Avatar
Evenbit
Junior Poster
139 posts since Mar 2005
Reputation Points: 52 [?]
Q&As Helped to Solve: 6 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Nathan.

Member Avatar
ljerabek
Newbie Poster
1 post since Sep 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Member Avatar
William Hemsworth
Posting Virtuoso
1,546 posts since Mar 2008
Reputation Points: 1,339 [?]
Q&As Helped to Solve: 158 [?]
Skill Endorsements: 10 [?]
 
0
 

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

Member Avatar
HeartDisk
Newbie Poster
1 post since Jun 2006
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Thankyou

Member Avatar
DKaelder
Newbie Poster
1 post since Feb 2009
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Member Avatar
int_80
Newbie Poster
5 posts since Feb 2009
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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!!!!

Member Avatar
devninja
Light Poster
36 posts since Mar 2012
Reputation Points: 2 [?]
Q&As Helped to Solve: 2 [?]
Skill Endorsements: 0 [?]
 
0
 

The link seems to be broken

Member Avatar
jeanclaudedjahlin
Newbie Poster
6 posts since Sep 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
-1
 

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

Member Avatar
Assembly Guy
Posting Whiz
350 posts since Apr 2013
Reputation Points: 72 [?]
Q&As Helped to Solve: 39 [?]
Skill Endorsements: 21 [?]
 
0
 

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

Member Avatar
fatalblade
Newbie Poster
8 posts since Nov 2009
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

useful pdf, thank you.

Member Avatar
hellooo12
Newbie Poster
5 posts since Oct 2013
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 1 [?]
 
0
 

it very good i love this pdf
thanks

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article