Programming Forums
User Name Password Register
 

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

Reply
 
Thread Tools Display Modes
Old Jun 28th, 2005, 4:43 AM   #1
uman
Expert Programmer
 
Join Date: Dec 2004
Posts: 794
Rep Power: 4 uman is on a distinguished road
Wanting to learn something.

I want to learn assembly programming. Not to actually use it that often, but to learn what goes on at a low level inside the computer. My current understanding is just that I hit "Ctrl+Shift+B" and Visual Studio farts out a program. I want a more in-depth knowledge!

For this reason I don't care about "High-Level Assembly" or any such tools that make assembler easier with HLL constructs. I want the raw, uncut, assembler experience! Any suggestions on what resources I should use to learn, and what assembler I should use?

Thanks,
uman
__________________
Few people deserve to be compared to (Rush) Limbaugh, most of them were convicted at the Nuremburg trials.
--WilliamSChips on Slashdot
uman is offline   Reply With Quote
Old Jun 28th, 2005, 8:13 AM   #2
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
If you haven't already, get some material and learn how a "computer" system works. Then pick some processor, study its spec sheet, gather some material on its assembly language, and write something simple. The x86 is probably at your fingertips, so that's one possibility. You can write inline assembler with your C/C++ compiler, no doubt. You can also write some C/C++ code (or whatever language flips your skirt) and look at the assembler/machine code it emitted. If you want it REALLY tough, as in days of yore, before they blessed us with MUL instructions and such, investigate that LC-3 mentioned in another thread here. It's a simulated micro and there are "emulators" for it in Windows and *nix so that you can run what you write on your desktop. There's a sort of minimalistic editor and debugger for it. That one will put some hair on your chest because you're going to actually have to learn how things build up from the basics. On the other hand, the missing basic operations may represent somewhat of a side step, inasmuch as few, if any, real world processors are so limited.
__________________
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 Jul 5th, 2005, 10:18 PM   #3
Libervisco
Newbie
 
Libervisco's Avatar
 
Join Date: Aug 2004
Location: Croatia
Posts: 18
Rep Power: 0 Libervisco is on a distinguished road
Send a message via ICQ to Libervisco
Programming Groundup

Well, I believe this book is just what you need: Programming Groundup.

It is a book that would teach you how the computer works, how to think like a programmer and also teach you some basics of Assembly language.

I am new to programming, but I took this book by recommendation from some guys from the #C channel at freenode for pretty much the same or similar reasons you mention, to learn how it all works deep down there and then more easily learn other languages with that base perspective already set in my mind.

You can download the book here.

Thx
Daniel
__________________
Libervis.com - Nexus of the free world online_
Libervisco is offline   Reply With Quote
Old Jul 5th, 2005, 10:33 PM   #4
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
I just gave it a cursory look, but the book looks pretty good to me. It's obviously going to be Intel and Linux centric to some degree, but that's all to the good so long as one remembers that it is e pluribus unum.
__________________
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 Jul 6th, 2005, 1:27 AM   #5
uman
Expert Programmer
 
Join Date: Dec 2004
Posts: 794
Rep Power: 4 uman is on a distinguished road
Sorry but what does "e pluribus unum" mean? I'm aware it is the motto of the USA but I've never heard it in conversation.
__________________
Few people deserve to be compared to (Rush) Limbaugh, most of them were convicted at the Nuremburg trials.
--WilliamSChips on Slashdot
uman is offline   Reply With Quote
Old Jul 6th, 2005, 7:07 AM   #6
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
One of many.
__________________
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 Jul 6th, 2005, 5:49 PM   #7
iignotus
Professional Programmer
 
iignotus's Avatar
 
Join Date: Apr 2005
Location: Nowhere Special
Posts: 466
Rep Power: 4 iignotus is on a distinguished road
Send a message via AIM to iignotus
Quote:
Originally Posted by DaWei
One of many.
It's really "of many, one". A bit of a different saying if you look at it only with a quick glance ;P
__________________
% rc4 hexkey < input > output
#define S ,t=s[i],s[i]=s[j],s[j]=t /* rc4 hexkey <file */
unsigned char k[256],s[256],i,j,t;main(c,v,e)char**v;{++v;while(++i)s[ 
i]=i;for(c=0;*(*v)++;k[c++]=e)sscanf((*v)++-1,"%2x",&e);while(j+=s[i]
+k[i%c]S,++i);for(j=0;c=~getchar();putchar(~c^s[t+=s[i]]))j+=s[++i]S;}
iignotus is offline   Reply With Quote
Old Jul 6th, 2005, 6:09 PM   #8
Ooble
I eat cake for breakfast.
 
Ooble's Avatar
 
Join Date: Jul 2004
Location: In my box.
Posts: 4,434
Rep Power: 9 Ooble is on a distinguished road
I'm curious: what does that actually mean?
__________________
Me :: You :: Them
Ooble is offline   Reply With Quote
Old Jul 6th, 2005, 6:15 PM   #9
uman
Expert Programmer
 
Join Date: Dec 2004
Posts: 794
Rep Power: 4 uman is on a distinguished road
Heh. I prefer to speak English except when I'm' being a pompous jerk.
__________________
Few people deserve to be compared to (Rush) Limbaugh, most of them were convicted at the Nuremburg trials.
--WilliamSChips on Slashdot
uman is offline   Reply With Quote
Old Jul 6th, 2005, 6:21 PM   #10
uman
Expert Programmer
 
Join Date: Dec 2004
Posts: 794
Rep Power: 4 uman is on a distinguished road
And usually when I'm a trying to be a pompous jerk I leave out the extra apostrophes at the end of "I'm".

(bah typos)
__________________
Few people deserve to be compared to (Rush) Limbaugh, most of them were convicted at the Nuremburg trials.
--WilliamSChips on Slashdot
uman 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




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 1:45 AM.

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