![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Hobbyist Programmer
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 150
Rep Power: 1
![]() |
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.
![]() |
|
|
|
|
|
#2 |
|
King of Portal
|
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.
__________________
Lo, there do I see my father. 'Lo, there do I see My mother, and my sisters, and my brothers. 'Lo, there do I see The line of my people... Back to the beginning. 'Lo, they do call to me. They bid me take my place among them. In the halls of Valhalla... Where the brave... May live... ...forever.. GrimBB | Mimesis |
|
|
|
|
|
#3 |
|
Hobbyist Programmer
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 150
Rep Power: 1
![]() |
Thanks man, I have heard of that book "The Art of Assembly". I can get a copy.
|
|
|
|
|
|
#4 |
|
Newbie
Join Date: Sep 2007
Location: Canada
Posts: 3
Rep Power: 0
![]() |
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.
|
|
|
|
|
|
#5 | |
|
Hobbyist Programmer
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Caffeinated Neural Net
Join Date: Jun 2005
Location: Dry west coast of Canada
Posts: 925
Rep Power: 4
![]() |
Quote:
__________________
A man's knowledge is like an expanding sphere, the surface corresponding to the boundary between the known and the unknown. As the sphere grows, so does its surface; the more a man learns, the more he realizes how much he does not know. Hence, the most ignorant man thinks he knows it all. - L. Sprague de Camp |
|
|
|
|
|
|
#7 |
|
Hobbyist Programmer
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 150
Rep Power: 1
![]() |
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.
__________________
SYNTAX ERROR ... |
|
|
|
|
|
#8 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
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.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#9 |
|
Hobbyist Programmer
|
Grich
you want to learn assembly but for what architecture? x86, 6502, ARM, TI-8x, Atmel...
__________________
i dont know much about programming but i try to help |
|
|
|
|
|
#10 | |
|
Hobbyist Programmer
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 150
Rep Power: 1
![]() |
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.
__________________
SYNTAX ERROR ... |
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Assembly Language | DaWei | Coder's Corner Lounge | 0 | Apr 26th, 2007 10:15 PM |
| Starting a career... start-ups worth it? | Jimbo | Coder's Corner Lounge | 12 | Nov 2nd, 2006 12:23 PM |
| Assembly, Assembler? | v0id | Assembly | 15 | May 4th, 2006 8:52 AM |
| Assembly without a compiler | grimpirate | Assembly | 16 | Sep 8th, 2005 6:07 AM |
| High Level Assembly? | Gink | Assembly | 3 | Apr 20th, 2005 11:34 AM |