ARM: Stacks, Subroutines, and Recursion

0.0(0)
studied byStudied by 1 person
0.0(0)
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/15

flashcard set

Earn XP

Description and Tags

These flashcards cover key concepts related to ARM stacks, subroutines, and recursion as discussed in the lecture.

Last updated 12:27 AM on 1/12/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

16 Terms

1
New cards

Subroutine

A set of instructions designed to perform a frequently used operation.

2
New cards

Stack Pointer

A register that points to the top of the current stack frame.

3
New cards

Link Register

A register used to store the return address of a subroutine and preserves return address from being overwritten by nested calls.

4
New cards

Stack Frame

Memory that stores local variables and register values for a particular function call.

5
New cards

Recursion

A programming technique where a function calls itself in order to solve a problem.

6
New cards

APCS

The ARM Procedure Call Standard which defines how registers are used in subroutines.

7
New cards

STMFD Rd!, {...} (Store Multiple Full Descending)

An instruction to push multiple registers onto the stack.

8
New cards

LDMFD R13!, {...} (Load Multiple From Descending)

An instruction to pop multiple registers from the stack.

9
New cards

Local Variables

Variables that are only accessible within a specific function's stack frame.

10
New cards

Caller

The function that makes a call to another function.

11
New cards

Callee

The function that is called by another function.

12
New cards

Frame Pointer

A register that helps in accessing function parameters and local variables using fixed offsets.

13
New cards

Non-leaf function

A function that calls other functions, requiring preservation of the link register.

14
New cards

Leaf function

A function that does not call any other functions, thus does not need to preserve the link register.

15
New cards

Infinite Loop

A situation in programming where a function calls itself indefinitely due to lack of an exit condition.

16
New cards

Branch Link

Branch and store return address in Link Register