ARM Assembly: Lesson 10 (Function Calls)

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

LaurieWired

LaurieWired

Күн бұрын

Welcome to Lesson 10 of the ARM Assembly Series from LaurieWired!
In this video, we learn how to call and return from functions in ARM assembly. We also learn how to pass parameters using registers and how to save their values on the stack.
---
Timestamps:
00:00 Intro
00:57 Example C code
01:47 ARM Calling Conventions
03:12 Return Values
03:47 Method Invocation
05:15 Branching out of Function
06:12 Saving Register State
07:10 The Stack
09:57 Stepping through the Disassembly
13:43 Recap
---
Links Mentioned in Video:
CPULator:
cpulator.01xz.net/?sys=arm
ARM Mnemonic Extensions:developer.arm.com/documentati...
---
laurieWIRED Twitter:
/ lauriewired
laurieWIRED Website:
lauriewired.com
laurieWIRED Github:
github.com/LaurieWired
laurieWIRED HN:
news.ycombinator.com/user?id=...
laurieWIRED Reddit:
/ lauriewired

Пікірлер: 16
@0xReip
@0xReip 2 ай бұрын
I like watching your channel so I practice my English listening and learn more about ARM as well
@manawardhana
@manawardhana 5 ай бұрын
Great explanation. I didn't find any gaps. Brilliant! Thank you! 👏👏👏🙏
@IamDejaVu
@IamDejaVu 8 ай бұрын
Such a great video! Keep it up :)
@ArjanvanVught
@ArjanvanVught 2 ай бұрын
Thanks for all your effort! Great content!
@neilclay5835
@neilclay5835 8 ай бұрын
Great series
@_orangutan
@_orangutan 8 ай бұрын
The sickest of intros.
@AbdurahmonMirobidov
@AbdurahmonMirobidov 2 ай бұрын
thanks for this amazing content
@bikdigdaddy
@bikdigdaddy 8 ай бұрын
i saw u on linkedin and your content seems amazing too. hoping to learn from you. also that lain reference is epic ;)
@MovieVertigo
@MovieVertigo 3 ай бұрын
Interesting to see how things have changed since the Archimedes/Risc PC era (Arm 2/3). I have MOV PC,R14 etched into my brain for returning from a function call 😁
@aa_yu_s_h
@aa_yu_s_h 2 ай бұрын
U are the one.
@MauroPanigada
@MauroPanigada 3 ай бұрын
8:58 from the fogs of 68k assembly programming on the Amiga: it was a (sort of?) rule that the callee had to save the registers it used (except for those considered "scratch registers"), so that every subroutine usually started with movem.l d2-d7/a2-a6, -(sp) and ended with movem.l (sp)+, d2-d7/a2-a6 just before the rts (return instruction - 68k "branch/jump to subroutine" pushes the return address on the stack - pointed by a7, alias sp just to make it clear we are dealing with the stack). And if you, as the writer of the subroutine, knew that you were not going to overwrite any register (beyond d0-d1 and a0-a1), you could spare the movem instruction. I think I prefer a calling convention that forces this guarantees making the callee take care of not overwriting certain registers, rather than making the caller always worry about it.
@AEONIC_MUSIC
@AEONIC_MUSIC 8 ай бұрын
how was this intro made? its amazing
@biplavsingh5026
@biplavsingh5026 8 ай бұрын
What is I flag in cpsr?🤔
@tear728
@tear728 8 ай бұрын
Something about the frequency of your voice tickles my ears 😂👂
@ahmedmani1051
@ahmedmani1051 5 ай бұрын
7:30 the vietnam flashback took me off guard
@ThiagoSTeixeir4
@ThiagoSTeixeir4 8 ай бұрын
Present day, present time Hahahaha
ARM Assembly: Lesson 11 (Stack Operations)
13:03
LaurieWired
Рет қаралды 6 М.
Cybersecurity "Experts" suck at coding.  It's a problem.
15:12
LaurieWired
Рет қаралды 96 М.
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
Como ela fez isso? 😲
00:12
Los Wagners
Рет қаралды 34 МЛН
Hooking Java Methods with Frida
29:04
LaurieWired
Рет қаралды 14 М.
Compilers, How They Work, And Writing Them From Scratch
23:53
Adam McDaniel
Рет қаралды 31 М.
Intro to 64 bit ARM Assembly: From Basics to Party Tricks
46:46
CppBayArea
Рет қаралды 3,2 М.
Deciphering Obfuscated JavaScript Malware
31:12
LaurieWired
Рет қаралды 64 М.
everything is open source if you can reverse engineer (try it RIGHT NOW!)
13:56
Low Level Learning
Рет қаралды 1,2 МЛН
how hello world for arm64 assembly really works (apple silicon)
30:59
rust runs on EVERYTHING (no operating system, just Rust)
18:10
Low Level Learning
Рет қаралды 345 М.
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 321 М.
System calls at the assembly level
23:17
Artem Pianykh
Рет қаралды 10 М.
Mi primera placa con dios
0:12
Eyal mewing
Рет қаралды 598 М.
#miniphone
0:16
Miniphone
Рет қаралды 1,6 МЛН
Will the battery emit smoke if it rotates rapidly?
0:11
Meaningful Cartoons 183
Рет қаралды 5 МЛН