Re: STACK IMPLEMENTATION
- From: Tim Wescott <tim@xxxxxxxxxxxxxxxx>
- Date: Mon, 30 Jul 2007 09:01:10 -0700
Tom Lucas wrote:
"Paul Burke" <paul@xxxxxxxxxx> wrote in message news:5h62puF2s3seiU1@xxxxxxxxxxxxxxxxxxxxxIt's a good interview question. For assembly programming it's not out of the realm of possibility to lose track of your stack, particularly if you're pushing and popping data in the middle of things. Knowing what happens would help debugging, particularly if the misalignment only happened every once in a while as a consequence of conditional execution.dk wrote:
I am trying to understand if i implement something like this in myYou'll lose more than the value of A. You'll lose your job too probably. Think about what RET does, and from that guess whether you will ever get to call POP_A.
micro what would happen. My understanding is that i will lose the the
value of 'A'
CALL PUSH_A
.
.
.
CALL POP_A
PUSH_A : PUSH A
RET
POP_A: POP A
RET
I don't think there will be jobs at stake - this is a homework question I reckon. Good question to ask students though.
Note that on some processors the call stack is separate from the data stack (I believe this is the case on the PIC18 and the 6805, but I haven't picked through either of them in detail). For these processors, pushing a register onto the data stack then returning from a subroutine wouldn't lose you your program counter, although it could certainly mess up your data stack if you weren't planning on that behavior.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" gives you just what it says.
See details at http://www.wescottdesign.com/actfes/actfes.html
.
- Follow-Ups:
- Re: STACK IMPLEMENTATION
- From: 42Bastian Schick
- Re: STACK IMPLEMENTATION
- From: dk
- Re: STACK IMPLEMENTATION
- References:
- STACK IMPLEMENTATION
- From: dk
- Re: STACK IMPLEMENTATION
- From: Paul Burke
- Re: STACK IMPLEMENTATION
- From: Tom Lucas
- STACK IMPLEMENTATION
- Prev by Date: Re: Open Source EC++ Implementation?
- Next by Date: Re: Open Source EC++ Implementation?
- Previous by thread: Re: STACK IMPLEMENTATION
- Next by thread: Re: STACK IMPLEMENTATION
- Index(es):