1/15
These flashcards cover key concepts related to ARM stacks, subroutines, and recursion as discussed in the lecture.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Subroutine
A set of instructions designed to perform a frequently used operation.
Stack Pointer
A register that points to the top of the current stack frame.
Link Register
A register used to store the return address of a subroutine and preserves return address from being overwritten by nested calls.
Stack Frame
Memory that stores local variables and register values for a particular function call.
Recursion
A programming technique where a function calls itself in order to solve a problem.
APCS
The ARM Procedure Call Standard which defines how registers are used in subroutines.
STMFD Rd!, {...} (Store Multiple Full Descending)
An instruction to push multiple registers onto the stack.
LDMFD R13!, {...} (Load Multiple From Descending)
An instruction to pop multiple registers from the stack.
Local Variables
Variables that are only accessible within a specific function's stack frame.
Caller
The function that makes a call to another function.
Callee
The function that is called by another function.
Frame Pointer
A register that helps in accessing function parameters and local variables using fixed offsets.
Non-leaf function
A function that calls other functions, requiring preservation of the link register.
Leaf function
A function that does not call any other functions, thus does not need to preserve the link register.
Infinite Loop
A situation in programming where a function calls itself indefinitely due to lack of an exit condition.
Branch Link
Branch and store return address in Link Register