Lady
Lady

Reputation: 1

more than one stack in microprocessor

can I use more than one stack in microprocessor? and if I can,How can I progamming those?

Upvotes: 0

Views: 354

Answers (4)

supercat
supercat

Reputation: 81307

On some platforms, the stack used for return addresses is entirely separate from the one used for parameter passing. Indeed, on some platforms, C compilers don't permit recursion and don't use any stack for parameter passing. Frankly, I like such designs, since they minimize the likelihood of stack problems causing errant program behavior.

Upvotes: 0

Ukko
Ukko

Reputation: 2266

As for the how of it. Generally there is a special register or memory location that is used to point to the stack. Using another stack is just as simple as setting this value. This is all processor and architecture dependent so it depends on the one you are using.

Upvotes: 0

anon
anon

Reputation:

Sure you can. Several CPU architectures have multiple stack pointers - even lowly 8-bit processors, such as the M6809. And even if the concept is not implemented in the CPU hardware, you can easily create multiple stacks in software. A stack pointer is basically simply an index register, so you could (for example) use the IX and IY registers of the Z80 to implement multiple stacks.

Upvotes: 1

James
James

Reputation: 25543

If your microprocesser has more than one hardware stack, then yes, you can. You would have to write assembler though, since no c/c++ implementation makes use of multiple stacks.

It would be easier to help if you could say exactly what architecture you're talking about.

Upvotes: 0

Related Questions