3 ms·
RISC-type architectures with a branch-and-link instruction (as opposed to a jsr- or call-type instruction) generally have a stack by convention only, because th
by tom_ 8y ago
RISC-type architectures with a branch-and-link instruction (as opposed to a jsr- or call-type instruction) generally have a stack by convention only, because the CPU doesn't need one to operate. (For handling interrupts and exceptions there is usually some other mechanism for storing the old program counter.)
- hfdgiutdryg 8y agoCan you point me to a RISC architecture that doesn't have push and pop instructions?
- swolchok 8y agoARM64 uses regular loads and stores to access the stack, I believe. It also is one of the architectures with branch-and-link. https://community.arm.com/processors/b/blog/posts/using-the-stack-in-aarch64-implementing-push-and-pop https://community.arm.com/processors/b/blog/posts/using-the-...
- monocasa 8y agoNearly all of them? ARM's pop is really a generic ldmia with update. You can use the same instruction in a memcpy. MIPS, PowerPC, and Alpha don't have anything like push and pop, splitting load/stores and SP increment/decrement into separate instructions. AArch64 has a dedicated stack pointer, but no explicit push pop. In general the RISC style is to allocate a stack frame and use regular loads and stores off of SP rather than push and pop.