![]() |
Thinking about starting Assembly
I am currently a student of programming (for too long) and have been programming for a very long time as a hobby as well. I already know C++, JAVA, VB.NET and too many scripting languages. Now I am thinking about taking up Assembly. Any suggestions, websites, books you could recommend. PLEASE.:D
|
If you want to learn the theory of assembly an often recommended book is called "The Art of Assembly", I can't remember the author but I'm sure a google search will bring you to his site where he makes the book available for free. However, I haven't looked into the book too much myself because it uses a somewhat higher level language than assembly, it's somewhere between C and assembly. For an easy and very versatile assembler to begin with I recommend FASM at http://www.flatassembler.net/ their forum has a wealth of knowledge. One guy even wrote a complete OS using just FASM (it's called MenuetOS). As an introductory text I recommend Introduction to Computing Systems which I used in college and it really teaches you stuff at a basic level, even some of the circuitry involved. I've got a brief tutorial I wrote for a boot disk as well somewhere on the site so search for that too. Hope that all helps.
|
Thanks man, I have heard of that book "The Art of Assembly". I can get a copy.
|
I chose to learn asm (x86) before learning any high level language. I would recommend NASM - the netwide assembler to learn on, although (too) many tuts and books use MASM/TASM which has a confusing abunance of directives which I personally think are unnecessary. Those compilers are also not free. I also have the "art of assembly" book in PDF format. It's a great work, but it depends how deep you want to get into asm. Obviously it's not as widely used as in the simpler computer days such as the DOS era. But CPU's still execute asm utilmately, so it's important to understanding the code generated by compilers.
|
Quote:
|
Quote:
|
Would you guys know were to look for info on cpu arichecture and Memory Addresses. Art of Assembly is great for it, but I want to know a bit more. Is there anything about the topics in detail.
I'm probably asking too much. |
Memory is essentially a contiguous array of bytes running from element 0 to element (number of address lines ^2 - 1). Some implementations may not be able to address every element -- addressing may be aligned on some boundary other than a byte boundary. Not all of the address space is populated (usually). Further, some of the space may be dedicated to memory-mapped I/O.
Almost any document dealing with microprocessors will have basic material on the architecture. Certainly the specification for any particular micro will have it. I'd suggest that Google would make a fine starting point. |
Grich
you want to learn assembly but for what architecture? x86, 6502, ARM, TI-8x, Atmel... |
Quote:
x86 architecture. I have some very good sources now on x86 assembly, but I just want to know a bit more on the hardware. |
| All times are GMT -5. The time now is 9:25 PM. |
Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC