Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Sep 23rd, 2007, 6:33 PM   #1
Grich
Hobbyist Programmer
 
Grich's Avatar
 
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 194
Rep Power: 2 Grich is on a distinguished road
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.
Grich is offline   Reply With Quote
Old Sep 23rd, 2007, 8:17 PM   #2
grimpirate
King of Portal
 
grimpirate's Avatar
 
Join Date: Sep 2005
Posts: 431
Rep Power: 4 grimpirate is on a distinguished road
Send a message via Yahoo to grimpirate
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
grimpirate is offline   Reply With Quote
Old Sep 24th, 2007, 2:15 AM   #3
Grich
Hobbyist Programmer
 
Grich's Avatar
 
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 194
Rep Power: 2 Grich is on a distinguished road
Thanks man, I have heard of that book "The Art of Assembly". I can get a copy.
Grich is offline   Reply With Quote
Old Sep 29th, 2007, 11:37 PM   #4
POSIX
Newbie
 
POSIX's Avatar
 
Join Date: Sep 2007
Location: Canada
Posts: 3
Rep Power: 0 POSIX is on a distinguished road
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.
POSIX is offline   Reply With Quote
Old Sep 30th, 2007, 11:50 PM   #5
ZenMasterJG
Hobbyist Programmer
 
ZenMasterJG's Avatar
 
Join Date: Nov 2004
Location: Boston, MA
Posts: 148
Rep Power: 4 ZenMasterJG is on a distinguished road
Send a message via AIM to ZenMasterJG
Quote:
Originally Posted by POSIX View Post
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.
MASM is free. Its also not a compiler. If you're working on Windows, I'd go with MASM. On linux, definatly NASM, though GAS will do you just as well.
ZenMasterJG is offline   Reply With Quote
Old Oct 1st, 2007, 3:10 AM   #6
lectricpharaoh
Caffeinated Neural Net
 
lectricpharaoh's Avatar
 
Join Date: Jun 2005
Location: Dry west coast of Canada
Posts: 1,032
Rep Power: 5 lectricpharaoh will become famous soon enough
Quote:
Originally Posted by POSIX
But CPU's still execute asm utilmately, so it's important to understanding the code generated by compilers.
I'll grant that it's worthwhile to know how the CPU works, but it does not 'execute asm'. The CPU executes machine code, and that's all it executes; the fact that assembly mnemonics correspond directly to machine code instructions in virtually all cases is probably the cause of your confusion.
__________________
And once again, Probability proves itself willing to sneak into a back alley and service Drama as would a copper-piece harlot.
- Vaarsuvius, Order of the Stick
lectricpharaoh is offline   Reply With Quote
Old Oct 6th, 2007, 10:18 AM   #7
Grich
Hobbyist Programmer
 
Grich's Avatar
 
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 194
Rep Power: 2 Grich is on a distinguished road
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 ...
Grich is offline   Reply With Quote
Old Oct 6th, 2007, 11:49 AM   #8
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
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
DaWei is offline   Reply With Quote
Old Oct 6th, 2007, 8:27 PM   #9
mrynit
Hobbyist Programmer
 
mrynit's Avatar
 
Join Date: Mar 2006
Location: WA, USA
Posts: 332
Rep Power: 3 mrynit is on a distinguished road
Send a message via AIM to mrynit Send a message via MSN to mrynit Send a message via Yahoo to mrynit Send a message via Skype™ to mrynit
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
mrynit is offline   Reply With Quote
Old Oct 6th, 2007, 8:31 PM   #10
Grich
Hobbyist Programmer
 
Grich's Avatar
 
Join Date: Sep 2007
Location: Sydney - Australia
Posts: 194
Rep Power: 2 Grich is on a distinguished road
Red face

Quote:
Originally Posted by mrynit View Post
Grich

you want to learn assembly but for what architecture? x86, 6502, ARM, Atmel...
Oh yes, sorry, should have mentioned :o OOPS.
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 ...
Grich is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

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




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 5:43 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC