We're a community of 1077K IT Pros here for help, advice, solutions, professional growth and fun. Join us!
1,076,267 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Start New Discussion Reply to this Discussion

Let's learn assembly!

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)
17
Contributors
17
Replies
7 Years
Discussion Span
1 Month Ago
Last Updated
64
Views
Narue
Bad Cop
Team Colleague
15,460 posts since Sep 2004
Reputation Points: 6,483
Solved Threads: 1,407
Skill Endorsements: 54

Thank you! :)

Dani
The Queen of DaniWeb
Administrator
21,356 posts since Feb 2002
Reputation Points: 1,555
Solved Threads: 367
Skill Endorsements: 122

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

Narue
Bad Cop
Team Colleague
15,460 posts since Sep 2004
Reputation Points: 6,483
Solved Threads: 1,407
Skill Endorsements: 54

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

webeturtle
Newbie Poster
1 post since Apr 2007
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 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.

Evenbit
Junior Poster
140 posts since Mar 2005
Reputation Points: 99
Solved Threads: 5
Skill Endorsements: 0

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

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

uaefame
Newbie Poster
6 posts since Apr 2007
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0

Just thanks.

mostafadotnet
Junior Poster
157 posts since Jul 2006
Reputation Points: 55
Solved Threads: 13
Skill Endorsements: 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.

Evenbit
Junior Poster
140 posts since Mar 2005
Reputation Points: 99
Solved Threads: 5
Skill Endorsements: 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

ntdebug
Newbie Poster
1 post since Jun 2007
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0

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

Nathan.

Evenbit
Junior Poster
140 posts since Mar 2005
Reputation Points: 99
Solved Threads: 5
Skill Endorsements: 0

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

ljerabek
Newbie Poster
1 post since Sep 2007
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0

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

William Hemsworth
Posting Virtuoso
1,591 posts since Mar 2008
Reputation Points: 1,429
Solved Threads: 130
Skill Endorsements: 8

Thankyou

HeartDisk
Newbie Poster
1 post since Jun 2006
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 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

DKaelder
Newbie Poster
1 post since Feb 2009
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 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!!!!

int_80
Newbie Poster
5 posts since Feb 2009
Reputation Points: 10
Solved Threads: 0
Skill Endorsements: 0

The link seems to be broken

devninja
Light Poster
36 posts since Mar 2012
Reputation Points: 2
Solved Threads: 2
Skill Endorsements: 0

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
Newbie Poster
6 posts since Sep 2012
Reputation Points: 0
Solved Threads: 0
Skill Endorsements: 0

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

Assembly GUy
Junior Poster in Training
86 posts since Apr 2013
Reputation Points: 14
Solved Threads: 6
Skill Endorsements: 1

Post: Markdown Syntax: Formatting Help
 
You
 
© 2013 DaniWeb® LLC
Page rendered in 0.1188 seconds using 2.84MB