Re: Trivia Question
- From: "\\\\\\o///annabee" <faq@xxxxxxxxxxxxxx>
- Date: Wed, 04 Jan 2006 19:54:48 GMT
På 4 Jan 2006 08:14:02 -0800, skrev randyhyde@xxxxxxxxxxxxx <randyhyde@xxxxxxxxxxxxx>:
\\\o///annabee wrote:
Who need that? Someone dealing with writing a compiler!Or a debugger. Or maybe someone really wants to *change* one of the register values on return (and, therefore, needs to poke a value into the stack frame where the value for that register is sitting).
Make all the excuses for your ignorance that you like, but, yes, assembly programmers *should* know about this stuff.
I disagree. This is the kind of stuff that is trivial to enquery once you written
about as much code as I have. You know, the stack may seem strange at first, but the
fact that it grows to lesser adresses, is not really THAT hard to figure out.
Its just that I never needed to know.
There a million things I never needed to know, and even more that I will never need.
But this doesn't make it impossible to wrote FULL PEs in assembly, quite the oposite.
You are actually probably scaring beginners by providing too much info at once.
After all, the point of assembly language is *not* to write HLL-like code in assembly,
The point of assembly is to program the machine. Its the native language ( -es )
of the machine. To read more into it than that is not fair.
but to take advantage of what the machine has to offer. Now, knowing the exact sequence of the registers on the stack isn't something that every programmer ought to have memorized (it's easy enough to look up when you need it, or you can do something like #include( "x86.hhf" ); and get symbolic equates for these offsets), but a decent assembly programmer *should* understand why knowing this information may be useful.
Information are rarely useful until needed. No matter how many manuals,
how many infos you memorized, this will only be a small help at writing programs.
Its not like your memory is the one that moves and inspires you to do programming,
It is your imagination. Then the language becomes a tool to make that thought a
running application. After working with the needed instructions some times, repleatly,
they tend to stick around in your memory.
And when you ever discover something that you cannot formulate, you may take a look at the
instruction set for clues. Then, by and by, you build the needed base to do what you want.
Hopefully, in a few more years, you'll discover why it just might be important to know the order of the registers pushed on the stack by pusha/pushad.
If the situation where important, it will be important. Sure. But for more then 2megas
of written sourcecode, between all my apps, this was never needed.
So thats why, it is useless info to throw at a beginner, unless he asks for it.
Cheers, Randy Hyde
.
- Follow-Ups:
- Re: Trivia Question
- From: randyhyde@xxxxxxxxxxxxx
- Re: Trivia Question
- References:
- Trivia Question
- From: Charles A. Crayne
- Re: Trivia Question
- From: hutch--
- Re: Trivia Question
- From: Charles A. Crayne
- Re: Trivia Question
- From: \\\\\\o///annabee
- Re: Trivia Question
- From: randyhyde@xxxxxxxxxxxxx
- Trivia Question
- Prev by Date: Re: [repost]Eorros for me, in the assembly history
- Next by Date: Re: [repost]Eorros for me, in the assembly history
- Previous by thread: Re: Trivia Question
- Next by thread: Re: Trivia Question
- Index(es):
Relevant Pages
|