Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Please tell me about Assembly Language...

Status
Not open for further replies.

Quark

New Member
HI:
I'm an student of Electronics and I'm seeing the 8051 microcontroller in classes and I see that I must have some knowledge of assembly language, but don't know any but a little.
Could anyone sugest me a book or any web addres where I can studyor read about it?
Any help would be great. JP.
 
Unfortunatly I learned ASM from a lab manual that my prof wrote in Collage.

I can however, suggest some things for you.

1.> get a book that uses the DEBUG.EXE program. Alot of books want you to use fancy pay for software that looks flashy that will give you more headaches then its worth. I do all my ASM programing using Edit (or VI) and Debug.exe. From what I had seen from some of the computer programers ASM texts they focused more on using the acutal programing suite (such as Codewarrior) then they actualy spent on programing in the base language.

Incase you dont know anyting about machine language this is what a simple add program looks like just so you have some basic reference

Code:
N ADD.COM

A100
;program for 8 bit addition
MOV AL, [200]     ;loads first number
ADD AL, [201]     ;adds second number
MOV [202], AL      ;saves answer
INT 20

A200
DB 10
DB 35
DB 00

RCX
400
W
Q

2.> ASM hasnt been updated in the last centery so picking up a books thats a few years old doesnt make a difference

3.> I highly suggest that you find a book that has a reference list in the back. The one in my lab manual looks like this:

Code:
ADD = addition

Memory Addressing -- ADD reg,[addr] or ADD [addr],reg
[000000 d w] [00 reg 110] [low addr] [high addr]    9 clocks d=1

I know its a bit confusing but the more info you get the beter. The information above for instance allows you to reverse engineer code form hex (must ... repress ... bad ... memories)

4. Make sure you get a nice Reference of Interupt Calls

5. Try looking for Computer Interfacing manules most of them are writen in ASM and show you how to controll PCs (80x85 processors)

6. Learn on an 80x85 proccessor (PCs) and request the encoding instruction reference from the microcontrollers manufacturer, the sintax will be the same some of the memory ranges will most likely be different.

7. Try looking at old DOS manuals they might have details on machine language calls.

Hope this points you in a somewhat right direction.
 
John Morton wrote a great book on Assembly..."AVR: An Introductory Course ".
Here's a link to a bunch for sale on Amazon.....
https://www.amazon.com/gp/offer-lis...ed/188-8740796-4647635?ie=UTF8&condition=used
I bought it when I got started and it was great.
Also, there is a great Atmel AVR tutorial that some Russian or East Soviet guy wrote... I Googled it for you just now but couldn't find it.....I'll make a point of looking at my print copy next time I'm in the office and posting it. It was fantastic for beginners.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top