This was great. Thank you so much. :) I also really appreciate the nice animations you've made. They're veeeery clean and nice looking. I love the clicks.
I'm genuinely impressed at the gold mine that is this channel, you should be having at least 10x your current sub count. By the way, will you continue your RISC-V assembly series?
Damn loved this, got PTSD from when I had to write assembly code for a PIC32 in university, suffered so much to make a program to calculate 2's exponentials and displaying it in 8 segments display, writing the delay function just killed me. Nice remembering those times, now my brain can´t function if I´m not using C# or python XD
Correct me if I'm wrong, but when you call fib(16), it has to call fib(15) and fib(14) to return the result, and calling fib(15) means calling fib(14) and fib(13), and both times you call fib(14), it calls fib(13) and fib(12), etc. So to do fib(n), it has to call that routine 1 + 2 + 3 + ... + n times in total. It works, but that's going to get pretty intense for big numbers, which is probably why even just fib(16) took a while to calculate. It's just for teaching purposes so I'm not criticizing, but it's definitely not the most efficient way to do it. It kind of makes me want to convert it to x86 assembly to see how quickly it gets out of control on my computer.
Couldn't huge gains be made if you store the value in a 32 bit register then use UXTH and LSR instead of pushing and popping stuff? (Just learning arm, sorry if this is a dumb question. I was just thinking you could store two values in a single register and then keep shifting everything right)
Is recursive or iterative more performant on Armv7 processors? It would be interesting to see the performance difference with some pre-processor unrolling of both a recursive and iterative case.
my first instinct was to use a cycle of subroutines each using 2 registers to retrieve and a third to store. The setup writes to A & B, then calls the first sub, which reads A & B, writes to C, then calls the second sub. That reads B & C, writes to A. Each subroutine needs to check N, and either return or decrement, calculate and call next sub. This is more efficient.
Could you do a video on the fairly recent OAuth2 session hijacking malware that allows for continuous access to google services even if they reset the password
I saw your video and it was so helpful. I should make a project in assembly language in vga pixel buffer in cpulator that I should make a thing in this vga and it should move right/down. I dont know how can I do this.Can you help me?
Hi,I`m from iran. I saw your video and it was really helpful. I want to know how can I make a thing in vga pixel buffer in cpulator that this picture can move right/down. I have this problem.can you help me??
Using a bad algorithm in assembly kind of defies the purpose of using assembly. Recursive fibonacci both recomputes the same value multiple times and takes up unnecessary stack space. I hope you have the iterative algorithm lined up as well.
I didn't really understand what was going on with r0 and r1. Are they variables? Addresses? Stack indices? Separate stacks? I thought they were variables and you were popping and pushing to and from the stack, and putting popped values into r1 and r0 variables, but even that didn't seem to make sense.
I'm not familiar with ARM assembly, but this doesn't look like it should work. You compute r0 - 1 and then branch back to the start of the fibonacci function. How does the code ever get to the r0 - 2 or the add part of the code? My best guess is that "bl" isn't "branch and link" (honestly doesn't make sense anyway), but "branch if less than". Is that correct? But even that wouldn't work. "Branch if less than" what, exactly? Zero? Something doesn't add up here...
The quality of the video editing just keeps going up! Great stuff
It's really nice to see projects written in assembly. More videos like this, for ARM and RISC-V,, are very welcome
I can never put this crazy efforts on aesthetics.
Pure respect for that!
The retro aesthetics of your videos are so cool. I look forward to watching more!
Incredible editing, love the aesthetic.
I computed Fibonacci Sequence in MIPS Assembly, pretty cool.
Btw great channel, the level of production and aesthetic is amazing!
I have arrived to this video by the power of the algorithm gods, and _my god_ the production value is off the charts!
Subscribed _immediately._
This was great. Thank you so much. :) I also really appreciate the nice animations you've made. They're veeeery clean and nice looking. I love the clicks.
I'm genuinely impressed at the gold mine that is this channel, you should be having at least 10x your current sub count.
By the way, will you continue your RISC-V assembly series?
The SEL intro was an instant subscribe
I'd love to know more about how you create and edit these videos, I love the style and animations. great stuff!
This channel is very underrated!
Damn loved this, got PTSD from when I had to write assembly code for a PIC32 in university, suffered so much to make a program to calculate 2's exponentials and displaying it in 8 segments display, writing the delay function just killed me. Nice remembering those times, now my brain can´t function if I´m not using C# or python XD
Thank you SO MUCH for this tutorial. You have SAVED my life!
Love the Serial Experiments Lain vibes
😊
your videos are the best.. even if i don't understand shit
Correct me if I'm wrong, but when you call fib(16), it has to call fib(15) and fib(14) to return the result, and calling fib(15) means calling fib(14) and fib(13), and both times you call fib(14), it calls fib(13) and fib(12), etc. So to do fib(n), it has to call that routine 1 + 2 + 3 + ... + n times in total. It works, but that's going to get pretty intense for big numbers, which is probably why even just fib(16) took a while to calculate. It's just for teaching purposes so I'm not criticizing, but it's definitely not the most efficient way to do it. It kind of makes me want to convert it to x86 assembly to see how quickly it gets out of control on my computer.
How do you only have 17,000 subscribers.... That'll probably change quickly
Couldn't huge gains be made if you store the value in a 32 bit register then use UXTH and LSR instead of pushing and popping stuff? (Just learning arm, sorry if this is a dumb question. I was just thinking you could store two values in a single register and then keep shifting everything right)
What's your windows theme? Looks cool
Cute as a kitten, sharp as a tack.
good job bro! nice work amigou
fantastic video, thanks
Everything you do is so cool 😎
coquetry + low level programming passion!
I never saw this combination
where did this awesome person come from
Very nice! Spiral out!!!!
Is recursive or iterative more performant on Armv7 processors? It would be interesting to see the performance difference with some pre-processor unrolling of both a recursive and iterative case.
my first instinct was to use a cycle of subroutines each using 2 registers to retrieve and a third to store. The setup writes to A & B, then calls the first sub, which reads A & B, writes to C, then calls the second sub. That reads B & C, writes to A. Each subroutine needs to check N, and either return or decrement, calculate and call next sub. This is more efficient.
can this code be compiled on x86_64 arch or it needs to be modified
very underrated
The production quality is so high, it seems like a plant
Memoization is your friend with this algorithm 😊
Burnout 3….good times!
Recursion is somewhat frowned on in embbedded programing.
Why did you not cache the Fibonacci(n-2) number when you were computing Fibonacci(n-1)?
For anyone trying this: you also need to check if r0 is equal to 2 in the beginning of the function and return 1 if that's the case.
The program Laurie wrote calculates fib(2), instead of checking and returning 1. fib(2) = fib(1) + fib(0) = 1 + 0 = 1
If you want to lower the time complexity of this to ~O(n), I always like the dynamic programming approach
👋Thanks
didnt understand shit but damn u look fine
Could you do a video on the fairly recent OAuth2 session hijacking malware that allows for continuous access to google services even if they reset the password
I saw your video and it was so helpful. I should make a project in assembly language in vga pixel buffer in cpulator that I should make a thing in this vga and it should move right/down. I dont know how can I do this.Can you help me?
We need a third angle next, a corner-mounted fuzzy security camera feed.
Hi,I`m from iran. I saw your video and it was really helpful. I want to know how can I make a thing in vga pixel buffer in cpulator that this picture can move right/down. I have this problem.can you help me??
can you help us to make a arm assembly code of the house robber problem? i will be wait your response, xoxo
Using a bad algorithm in assembly kind of defies the purpose of using assembly. Recursive fibonacci both recomputes the same value multiple times and takes up unnecessary stack space. I hope you have the iterative algorithm lined up as well.
Would you be interested in taking up game engine programming?
songname?
based laurie
I didn't really understand what was going on with r0 and r1. Are they variables? Addresses? Stack indices? Separate stacks?
I thought they were variables and you were popping and pushing to and from the stack, and putting popped values into r1 and r0 variables, but even that didn't seem to make sense.
They are registers in the CPU. Assembly is really low level, telling the processor what to do.
#respect
Coool
are you a fbi agent?
As time goes on, I only become more questioning
blessed upload
I'm not familiar with ARM assembly, but this doesn't look like it should work. You compute r0 - 1 and then branch back to the start of the fibonacci function. How does the code ever get to the r0 - 2 or the add part of the code? My best guess is that "bl" isn't "branch and link" (honestly doesn't make sense anyway), but "branch if less than". Is that correct? But even that wouldn't work. "Branch if less than" what, exactly? Zero? Something doesn't add up here...
Hi I am from iran
Just sitting here waiting for her to go Nix
Bruh top tier shit
Zero Index!
throw both them backs back!
neko
Forty two!? RUBBISH!
Is it just me, or does she have the same voice as Poppy?
I think it's just you