Assembly Language

I have a couple of book reccomendations. First "The Revolutionary Guide to Assembly Language" by Vitaly Majugin. He treats down to the wire programming very well and the book has a lot of vital data for X86 processors. ( I assume that is what the platform is ;) ). Second, "Using Assembly Language" by Alan Wyatt.
The first goes hard and furious into making use of assembly for everday, stand alone programs. The second spends a lot of time on optimizing and using subroutines in several languages, including C. It even touches on assembling object source for libraries in C/C++.
Both books have very good instruction set references included. I wish you luck and success, keep the caffeine handy :p
 
Griz803 said:
I have a couple of book reccomendations. First "The Revolutionary Guide to Assembly Language" by Vitaly Majugin. He treats down to the wire programming very well and the book has a lot of vital data for X86 processors. ( I assume that is what the platform is ;) ). Second, "Using Assembly Language" by Alan Wyatt.
The first goes hard and furious into making use of assembly for everday, stand alone programs. The second spends a lot of time on optimizing and using subroutines in several languages, including C. It even touches on assembling object source for libraries in C/C++.
Both books have very good instruction set references included. I wish you luck and success, keep the caffeine handy :p
Actually, on the point of X86 Processors; I was pondering, as the time has come for it and by the time I learn it everyone will have one, learning it for 64-bit Processors? I can't imagine much being different as they're still X86 based, certainly the one I have.

But yeah, I'll have to have a look at that. Haha! Better than Java I suppose *Shudder* personally I'm a tea person (he says holding a Pint Measuring Jug full of tea).

Do you know any Assembly Language? Cause we have a little project if you do, or indeed if you don't but are interesed in a little challenge Have a look at your Private Messages.

Thanks for the info whatever! :D
 
Firstly I would not recomed starting with anything as complicated as a x86 chip, and certainly not a 64bit one.

I learned assembly on the 8bit Z80 (which was used to power the sinclair spectrum!). - actually we went right down to wire programming, and my Alevel electronics included a whole section on this.
and went on to learn on the 8bit motorolla 68HC11 whilst I was at uni...

Programming in assembaly is a lengthy task, you haav to think in flow charts, from instance to add two numbers together, firstly you have to read the numbers at the chit port. load the number into an accumulator, look at the port again for the second number, store that number in a different accumulator, add the numbers together.
Read the number from the accumulator, move the number to the output port.

How I learned, and what I consider the easiest way to learn, is to have a rough tutorial on the principals and architecture of the specific chip you are programming for. Go to the manufacturues website, manuals are usually available for download which will tell you everything about the chip from it's dimensions and opperating tolerances right down to the amount of excecutions per second, and the block archtecture of the device, and memory locations.
On the manufactures site you should also find a manual of op-codes, with an explenations descritption, and example of what how why and when each instruction does what it does.

I feel a better place to start with learning machine code, and specifically programming directly to the chips you should use Motorolla based, rather than intel chips as they are 'memory mapped' rather than port mapped, this allows you to treat input and output ports as direct memory locations rather than having to read through buffers.

(it's easier to programme in C and then use a compiler, - the compiler I currently have installed is PIC-C www.ccsinfo.com/picc.shtml but yuo have to pay for this, however I can also recomend cosmic http://www.cosmic-software.com/)

What is the project? can you post details here so we can all throw in suggestions and or have a stab at submitting code?
 
Woah, thanks for that! :D I'll have to have a slower read through that all later but after reading it once my mind is already teaming with things that I need to do.

I'll have a look in the Friday Ad for a crappy old cheap computer; and go about finding Processor Manuals.

Basically, I'm not posting what we're planning on doing on here for the reason there are so many people on here - however my site on it will be up, erm, tommorow evening, maybe Saturday Evening.

If you want to know, go on to The Omega Project tommorow nightish and it should be up. (You can blame the crappy name on me, we have a thread about thinking of a new one).

But thanks for the advise anyway.
 
Maybe you should buy a IBM PC Assembly Language and Programming, I'm using this book. This could help you alot.
 
Back
Top Bottom