Name: [1836] Neil Dickson
Member: 108 months
Authored: 10 videos
Description: Hi, I'm a performance optimization enthusiast with an interest for many sorts of tough challenges. I've started Code Cortex, a group working to make software performance easier to improve. My sites are: ...

Assembly Language Tutorial: Episode 1: Jumping in Head First [ID:863] (2/7)

in series: Assembly Language Tutorial

video tutorial by Neil Dickson, added 09/08

(Showmedo is undergoing major changes. To report any problems viewing the videos please email us and include browser and OS specifics. Cheers - Kyran.)

This video covers the very basics of assembly language, just enough to write a simple loop that fills an image with colour.

It is quite lengthy because a lot of information is needed to get started and understand what's going on. The basic data types and the parts of a line of code are shown. Then the instructions mov, add, and briefly cmp and jne are explained. Addressing is covered, and then the coding begins.

Coding is done using Inventor IDE, which can be downloaded at and it comes with this tutorial's base code as a sample project. A forum has been set up at to post any questions, problems, suggestions, etc.

Got any questions?

Get answers in the ShowMeDo Learners Google Group.

Video statistics:

  • Video's rank shown in the most popular listing
  • Video plays: 449 (since July 30th)
  • Plays in last week: 7
  • Published: 95 months ago

Thank-yous, questions and comments

If this video tutorial was helpful please take some time to say thank-you to the authors for their hard work. Feel free to ask questions. Let the author know why their video tutorial was useful - what are you learning about? Did the video tutorial save you time? Would you like to see more?

You may also want to see our ShowMeDo Google Group to speak to our active users and authors.

Your email address will not be published.

Show some quick comments >>

All comments excluding tick-boxed quick-comments

Very, very very good

I am trying to re-learn asm in order to reverse some things :) I think - I am sure !- that your tutorial is very stylish !

Congratulations !

52. mac makeup disney Cheap Price fMR6kUfmbb Stanovi Izvor Tue, 31 Aug 2010 20:17

Better. Thanks.

51. watch espn online stream Thu, 19 Aug 2010 18:33

great movie

50. how to watch espn live online Thu, 19 Aug 2010 12:21

Amazing...... Also learnt How to teach in a great way.Thank You

WONDERFUL! Thank you!

48. f3gr4uu124 Wed, 09 Jun 2010 08:23

it was good just be happy inthe videos

47. qnhiizpd Tue, 25 May 2010 01:47

Thanks for making this video. I enjoyed it.

46. Gedrgept Mon, 12 Apr 2010 01:41

can u make videos showing assembly using visual studio?

45. marinir seo 085-635-945-40 Tue, 09 Mar 2010 10:24

Great job! I like that you are using your own IDE. I have just downloaded it and it looks great.

I want to see what is coming next.

44. black uggs with buttons Tue, 02 Mar 2010 18:17

thank u

43. Äðàéâåð íà radion hd2400xt läëÿ vista Thu, 14 Jan 2010 11:35

Mr. Dickson,

Holy cow!! ;-) That video is very good, I have a little experience in C++ programming (000000.01%) :) and your videos helps tremendously, thanks a lot.

I really appreciete your effort.

42. anonymous Mon, 04 Jan 2010 10:53

Good video. this is my first video on showmedo, so i'm not very experienced, however; this was a great start on assembler.

41. anonymous Thu, 26 Nov 2009 23:45

me i know the steps in assembly language .

40. anonymous Mon, 23 Nov 2009 23:37

Just excellent is really helpful for newbie's like me

39. anonymous Fri, 13 Nov 2009 10:05

I am using Alpha 5, so some of this is outdated.

I am really confused now, so I will probably need to watch this again some time.

38. anonymous Tue, 03 Nov 2009 03:58

appriciate your hardwork and the infos thanz

37. anonymous Tue, 27 Oct 2009 14:55

Thank you very much for your videos!

Your voice is easy to follow even for non-natives. :-)

Keep it going like that!

36. anonymous Fri, 02 Oct 2009 16:31

It was a good video; however, the IDE phones are too small and are very hard to read. Please them if you can.

I know yoour thinking buy glasses. Which I have.



35. anonymous Thu, 24 Sep 2009 02:20

easy enough to understand

34. anonymous Tue, 15 Sep 2009 03:36

tell me the background of assembly language

My hope is to show that many things that sound very difficult are really not too bad if you have the right tools and information. I'll be re-doing this video at some point, since it's even a slight bit easier in newer versions of Inventor. :)

Note, however, that many things are still very difficult, if only because there aren't good tools or information. On that front I'm trying to build tools and gather info that'll help make things easier, but it's slow going with just me actively working on it.

32. anonymous Fri, 11 Sep 2009 09:32

I never thought it would be that easy

31. anonymous Sat, 05 Sep 2009 08:04

I saw this site on google and decided to check it out. It's a good start for beginners like me. I am yet to master the concept as outlayed in the video. I hope to get even with it soon.

Keep up the good work.

30. anonymous Fri, 14 Aug 2009 22:55

Excellent Tut,

I want to suggest some thing:

each time you start the cod tut, please make a resume of what you have done before(to make newcomers integrate quickly).

Thanx Kepp Going

29. anonymous Tue, 11 Aug 2009 11:22

Your voice is very strange, you tend to start your sentences a bit high pitched, thats fine, but for some reason you always end up talking at a lower volume, which can be a bit hard to hear at time. I would suggest that you move the mic a bit away, and talk louder.

great video =)

28. anonymous Tue, 04 Aug 2009 21:11

Excellent video for a beginner like me. I have now really understood the basic commands used in assembly language, and cannot wait to view the next tutorial.

One suggestion in this video would be to clarify how exactly we use the imageoutput .exe file you use, and how it actually creates the original input file, i dont see the code, that originally takes the main image .

27. anonymous Sun, 02 Aug 2009 13:13

Still hooked.

26. anonymous Mon, 27 Jul 2009 12:38

I hope I can learn these before the semester begins.

25. anonymous Sat, 20 Jun 2009 04:50

Thank you for a very well done tutorial. I intend to see all your videos.

Best wishes,

Youssif Shanshiry

Principal Technical Software Engineer

Progress Software Corporation

24. anonymous Sun, 31 May 2009 21:51

Dude - great video! You make assembly look easy and I can't wait to tryout the Inventor IDE. Keep up the great work and I look forward to more videos in the future.

23. anonymous Wed, 27 May 2009 19:39


22. anonymous Mon, 25 May 2009 14:45

Very good job. Congratulations.

why cant i watch the video

why cant i watch the video

Hi Vlad! Thanks for the report, and sorry! I need to get this fixed fast if this is happening with version alpha 5 and these earlier videos. :(

I made this video with alpha 4, which didn't have the Run button, so I had an awkward way of assembling with that menu. Maybe I should put that back in anyway, so that people can build without running. It no longer uses MASM at all, so that shouldn't affect running.

That said, Inventor IDE shouldn't be freezing when pressing Run, so I'll look into what could cause it to freeze. It's probably something like that an exception is thrown somewhere and it isn't handled properly. Was it java.exe that was freezing, or was it ImageProgram.exe? If it's the latter, then it's probably that there's an infinite loop in the code. If not, did you have the console window, and did it show any errors? (I should really put in an error log file in the release with this fix, sorry.)

In the mean time, I'll try to reproduce this error, and if you send me an email (at the email address on my site: ) it'd be great if I could get you to check if the changes I make fix this on your computer. Thanks a ton!

18. anonymous Sun, 05 Apr 2009 19:04


I find the videos very useful and I'm trying to assemble the image program as instructed, however when I right-click on ImageProgram.asm the Assemble option is missing. The only menu option i have is "+ Add/Create File". MainFile is checked in ImageProgram.asm. I'm running Xp (also tried in Vista - same issue) with JRE 6 update 11 and Inventor IDE alpha 5. Masm32 is installed under C:\masm32. I also added MASMVar = C:\masm32 in Inventor.ini as suggested here for a different issue, but I am still missing the Assemble option.

When I hit the Run button Invetor IDE freezes and I have to close it from the task manager. Can you please help me with this, I also searched the forum but I seem to be the only one who's having this problem.



17. anonymous Fri, 03 Apr 2009 06:40

To pity that most of the programmers are so far away from the machine code. But You did your lecturing excellent! I enjoy then ! Thanks, Neven

16. anonymous Sun, 22 Mar 2009 18:06

Helpful and informative, but felt it could do with more detail on registers.

15. anonymous Sun, 22 Mar 2009 18:06

Helpful and informative, but felt it could do with more detail on registers.

14. anonymous Fri, 20 Mar 2009 10:58

Very cool tutorial

13. anonymous Thu, 19 Mar 2009 09:34

I found it very instructive.

I think that each community needs more informations, and I think that this is the best way to mprove your knowledge.

thank you and good luck!

Hi Vinay,

It seems you're not alone. There's a board on The MASM Forum devoted to anti-virus problems:

Directly trying to answer your question is this topic:

I hope that helps. You could use some other assembler, but you'll need to edit the command lines near the top of ImageProgram.asm




Actually I want to ask a Question about MASM32

On scanning the downloaded setup of MASM32 with 'avast av', I didn't found any virus, but when I extract the files of assembler,,,then while extracting many viruses were found.

Why this is so?......

Can I use some other assembler? If yes then help me choosing them.

Please Help me..........


Actually I want to ask a Question about MASM32

On scanning the downloaded setup of MASM32 with 'avast av', I didn't found any virus, but when I extract the files of assembler,,,then while extracting many viruses were found.

Why this is so?......

Can I use some other assembler? If yes then help me choosing them.

Please Help me..........

Thank You Mr. Neil Dickson. I will wait for those Videos......

Hi Vinay!

Don't fret. It took a lot of takes to make Episode 2 (it ended up being 30 minutes long... too long really) and I've been ridiculously busy, so I just uploaded it last night. It seems that Ian and Kyran don't always approve videos on weekends, so it might not be available until Monday or Tuesday, but you'll get to see it soon. :)

To Mr. Neil Dickson,

At the end of Episode 1: Jumping in Head First, it is spcified about the next episode or presentation on image flag and functions.

Where can I find all these video tutorials. Actually I am very much impressed of these two episodes....0 & 1and I think that I can learn anything through such Video tutorial.

So I want to download all Tutorials.

Thanks to Mr. Neil Dickson

Its Vinay K. Khare

uh oh :(

That'd mean that either the system can't find/run the MASM32 assembler at c:\masm32\bin\ml.exe, or that ml.exe can't find/read your code files. If you've got MASM32 installed in another directory, either change the line "MASMVar = C:\masm32" in Inventor.ini to reflect the location of MASM32 on your computer, or change the command lines listed near the top of ImageProgram.asm ($MASM$ gets replaced with the content of MASMVar).

This mess should get cleaned up once I've got built-in assembling.

I had an issue with inventor outputing:

"Sorry, an I/O error occurred when trying to run the command 'Assemble' "

Good Stuff! I'll definitely check out your site. I'll be looking forward to following along to your next videos in the series, thanks for sharing!

Fantastic screencast. I've hacked a bit of assembler but never really done it justice. This might be the spur i need - if i can ever hack a small chunk of time out of my life. It is, as you mention, necessarily a little dry. But it's good to lay a sound foundation before the practical elements.

The ShowMeDo Robot says - this video is now published, thanks for adding to ShowMeDo.

Showmedo is a peer-produced video-tutorials and screencasts site for free and open-source software (FOSS)- with the exception of some club videos, the large majority are free to watch and download.

how to help » about » faq »

Educating the Open-source Community With Showmedo

Although as important as the software it supports, education and documentation are relatively neglected in the Open-source world. Coders love to code, and explaining how best to use or improve the software tends to be deferred or even sidelined.

At Showmedo we believe the community can play a vital role here and also say thanks for the tools and software that make our lives easier. If you have a piece of software you love or a programming langugage you are enthusiastic about, why not make a screencast showing others how to use it? All the stuff you wish you'd been told, the tips, tricks, insights that would have saved you time and frustration.

Screencasting is easier than you think, and we're happy to help you. You can emailus for advice or just use some of the how-to screencasts on the site. This screencasting learning-pathis a good place to start.

Kudos and Thanks for Neil

Assembly Language Tutorial: Episode 0: Some Background

70 months ago


Showmedo's development is fairly rapid and bugs will inevitably creep in. If you have any problems please drop us a line using the contact address below. Likewise, any suggestions for improvements to the site are gratefully received.