Introduction to Assembly Programming with ARM - Preserving and Retrieving Data From Stack Memory

  Рет қаралды 5,400

OliveStem

OliveStem

Күн бұрын

In this video, we will discuss how we can preserve registers on our stack memory before function calls, and pop them off the stack back into registers once the function is completed.
This video is part of my free course: Introduction to Assembly Programming in ARM, available here: olivestem.net/...
See all of our free courses at: olivestem.net/...

Пікірлер: 13
@michaellaw2407
@michaellaw2407 4 ай бұрын
10000X better explained than my Professor. 😁
@nero008
@nero008 2 жыл бұрын
this series is true gold imo ! please make more of them !
@olivestemlearning
@olivestemlearning 2 жыл бұрын
Thank you so much! I'm so happy to hear this! There will be more videos coming soon
@nero008
@nero008 2 жыл бұрын
@@olivestemlearning i am someone who is as far away from this field as possible but i always wanted to learn programming. Other tutorials use bunch of frameworks and other abstractions which i did not like. I really prefer this baremetal minimalist approach
@hackvlix
@hackvlix 2 жыл бұрын
Second that!
@cmdcs1
@cmdcs1 2 жыл бұрын
Fantastic series! I've not found anything else quite like it on KZbin :)
@olivestemlearning
@olivestemlearning 2 жыл бұрын
Thank you! I'm happy to hear the series has been valuable!
@tech_azadi
@tech_azadi Жыл бұрын
Should we initialize SP before calling a push. Is 0xFFFFFFFF default value for SP ?
@olivestemlearning
@olivestemlearning Жыл бұрын
The SP register will generally point to the last item placed on the stack. I believe the default value is usually 0xFFFFFFFF for ARM. As the program runs, the SP register will update to reflect any data added to the stack, so you won't need to initialize it at all, ARM will handle the updates for the register.
@vadimegorov9809
@vadimegorov9809 Жыл бұрын
Tiny mistake :) POP {R1, R0}
@jacobyarnell715
@jacobyarnell715 Жыл бұрын
Hello, The order in which registers listed in the register list does not matter. When popping/pushing multiple registers, these registers are automatically sorted by name and the lowest-numbered register is loaded/stored from the lowest memory address, ie is loaded first/stored last
@dreadesina5216
@dreadesina5216 2 ай бұрын
@@jacobyarnell715 That's not correct the order does matter. Stack is just an array of memory the beginning being the sp[0] and the next sp[sp+1] which is 4 bytes since arm is 32 bits wide. Array is always contiguous and sequential. This is not a hash map or dictionary each data has a unique address so is the registers on the stack, the registers are order and have unique addresses the way they are push matter and so the way they will be pop. STACK mean last thing in first thing out. LIFO.
@Nunya58294
@Nunya58294 Жыл бұрын
Took up ARM ASM for some projects so this will be extremely useful!
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 49 МЛН
English or Spanish 🤣
00:16
GL Show
Рет қаралды 17 МЛН
PEDRO PEDRO INSIDEOUT
00:10
MOOMOO STUDIO [무무 스튜디오]
Рет қаралды 26 МЛН
Ep 081: Introduction to the Stack Pointer
16:09
Intermation
Рет қаралды 49 М.
ARM Assembly: Lesson 10 (Function Calls)
14:39
LaurieWired
Рет қаралды 7 М.
08 - The Stack
18:59
Dr Josh Stroschein - The Cyber Yeti
Рет қаралды 15 М.
RISC-V Calling Convention, Stack Frame & Stack Size
19:02
LearnRISC-V
Рет қаралды 4,4 М.
ARM Assembly: Lesson 1 (MOV, Exit Syscall)
18:15
LaurieWired
Рет қаралды 52 М.
x86 Assembly Crash Course
10:45
HackUCF
Рет қаралды 833 М.
computers suck at division (a painful discovery)
5:09
Low Level Learning
Рет қаралды 1,7 МЛН
WHY IS THE STACK SO FAST?
13:46
Core Dumped
Рет қаралды 151 М.
Intro to 64 bit ARM Assembly: From Basics to Party Tricks
46:46
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 49 МЛН