The Stack and ESP in Assembly Language - What happens when you call a procedure?

  Рет қаралды 17,622

Colin McAllister

Colin McAllister

4 жыл бұрын

What happens with the STACK, ESP, and EIP when a procedure is called in Assembly Language.
I don't know about you, but I am SICK of having to scrub through a 15-minute video only to find out that they didn't even answer the question I was searching for. Here is a 4-minute video that explains what happens to the Stack, ESP, and EIP when a procedure is called in Assembly Language.
I am a computer science student in my first semester at Auburn University, and this was one of the hardest concepts for me to grasp in my Assembly Language course. After spending a few hours failing to find youtube videos that helped me understand, I decided it was a good idea to make one. Hopefully it helps you understand this concept in less time than it took me. Thanks for watching!

Пікірлер: 30
@ArunaSrivastava-xb5eq
@ArunaSrivastava-xb5eq 10 ай бұрын
This was one of the most thoughtful, well prepared videos on assembly I have ever seen. You have a real knack for explaining this content visually. Thank you!
@pavolpanisz3251
@pavolpanisz3251 2 жыл бұрын
Thank you very much for this. I watched 2-3 videos prior to this one, but yours made it click. Especially because you gave multiple analogies (the deck of cards one being my favorite) to explain the same thing - this approach really makes a person understand the topic by having to think about what all the analogies have in common.
@techtechlearn3438
@techtechlearn3438 Жыл бұрын
Great video !!! Indeed there aren't other videos that explain the concept well enough, that's why I thank you a lot!! :)
@robsawyer8034
@robsawyer8034 22 күн бұрын
Well done. Excellent explanation
@deedewald1707
@deedewald1707 2 жыл бұрын
Very useful and detailed thanks !
@rigbyb
@rigbyb 2 жыл бұрын
Very well explained thank you
@kyledrewes6552
@kyledrewes6552 Жыл бұрын
This was a good video thank you. Do you have have any videos on what the EBP does? Thanks
@elecmayte4267
@elecmayte4267 6 ай бұрын
thank you, It was very hard to find a video that actually explains this correctly.
@edevaaao
@edevaaao 2 жыл бұрын
Very useful thanks !
@MFXScript
@MFXScript Жыл бұрын
What any amazing video thanks!
@kellyshields3392
@kellyshields3392 3 ай бұрын
This was hurting my brain yesterday but you made it click! Thanks! :)
@Boneplayer123
@Boneplayer123 3 ай бұрын
I’m glad! Can’t tell you how much time I spent banging my head against the desk before it clicked for me
@ezaki6576
@ezaki6576 5 ай бұрын
well done dude!
@tobiasschwarz6021
@tobiasschwarz6021 7 ай бұрын
Strong Vid, Bro!
@-boiadeiro-
@-boiadeiro- Жыл бұрын
wow nice explanation
@emilyem9685
@emilyem9685 2 жыл бұрын
Thanks a lot!
@hansqid
@hansqid 6 ай бұрын
thank you so much! although at first i kinda had a headache but rb i understand
@phanhoangnam699
@phanhoangnam699 2 жыл бұрын
very useful
@ZettaiKatsu2013
@ZettaiKatsu2013 5 күн бұрын
I just want to say to people who don't get why SP changes : Every push and pop is implicitely modifiying SP, the person writing instruction doesn't need to manage it in this case.
@mqasimkhan6920
@mqasimkhan6920 6 ай бұрын
thanks alot man
@effsixteenblock50
@effsixteenblock50 Ай бұрын
What were the ESP and EBP doing through all of this?
@ion4497
@ion4497 Жыл бұрын
great !!
@vortex_7574
@vortex_7574 2 жыл бұрын
Same boat as you, mate! But this helped!
@tsunningwah3471
@tsunningwah3471 3 ай бұрын
when you pop, does the value goes to eip by default
@gurpreetkhamba5399
@gurpreetkhamba5399 Жыл бұрын
educational, although I was looking for EBP basics.
@gtamta4190
@gtamta4190 Жыл бұрын
what happen if we push another register in to stack when program executing the call function , at that point stack pop out that we push into the stack to EIP register ? if it does what happen to program executing instruction ?
@MFXScript
@MFXScript Жыл бұрын
Call macro already pushes return address for you. If you push another address before call macro. It will execute it arg1 and stack will corrupt. If you want to push custom address for return,you must do push return address then jmp function location. This is which is equal to a call macro. But keep in mind there is a high change custom return address will crash program. You need to adjust that.
@nandorbacso4625
@nandorbacso4625 Жыл бұрын
What does add/sub esp, hexValue do?
@Baebon6259
@Baebon6259 2 ай бұрын
convert the hex value to decimal value then subtract (sub) that decimal value from esp or add that decimal value to esp.
@echohuang3158
@echohuang3158 Жыл бұрын
Thank you so much man you save my ass!
08 - The Stack
18:59
Dr Josh Stroschein - The Cyber Yeti
Рет қаралды 13 М.
КАК СПРЯТАТЬ КОНФЕТЫ
00:59
123 GO! Shorts Russian
Рет қаралды 3 МЛН
CAN YOU HELP ME? (ROAD TO 100 MLN!) #shorts
00:26
PANDA BOI
Рет қаралды 36 МЛН
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 42 МЛН
x86 Assembly Crash Course
10:45
HackUCF
Рет қаралды 819 М.
demystifying the secret structure you've been using all along
8:03
Low Level Learning
Рет қаралды 91 М.
x86 Assembly: Hello World!
14:33
John Hammond
Рет қаралды 1,4 МЛН
Dijkstra's Algorithm - Computerphile
10:43
Computerphile
Рет қаралды 1,3 МЛН
how do hackers exploit buffers that are too small?
8:25
Low Level Learning
Рет қаралды 185 М.
The Fetch-Execute Cycle: What's Your Computer Actually Doing?
9:04
Tom Scott
Рет қаралды 1,7 МЛН
Assembly Language in 100 Seconds
2:44
Fireship
Рет қаралды 1,5 МЛН
First Stack Buffer Overflow to modify Variable - bin 0x0C
11:21
LiveOverflow
Рет қаралды 191 М.
Python Multithreading Tutorial #1 - What is a Thread?
11:58
Tech With Tim
Рет қаралды 37 М.
КАК СПРЯТАТЬ КОНФЕТЫ
00:59
123 GO! Shorts Russian
Рет қаралды 3 МЛН