you can learn assembly FAST with this technique (arm64 breakdown)

149,001
0
Published 2023-05-19
Learning a new language is hard. ESPECIALLY languages like assembly that are really hard to get your feet wet with. Today, I describe a technique to learn assembly, "The Rosetta Stone" method. By compiling the Rosetta Stone and viewing it in assembly, you can learn a new assembly variant in only a matter of minutes.

Rosetta Stone: github.com/lowlevellearning/rosetta-stone

🏫 COURSES 🏫
Check out my courses at lowlevel.academy/

πŸ”₯πŸ”₯πŸ”₯ SOCIALS πŸ”₯πŸ”₯πŸ”₯
Low Level Merch!: www.linktr.ee/lowlevellearning
Follow me on Twitter: twitter.com/lowleveltweets
Follow me on Twitch: twitch.tv/lowlevellearning
Join me on Discord!: discord.gg/gZhRXDdBYY

All Comments (21)
  • @therealb888
    Everything is open source if you know assembly.
  • @EdwardChan.999
    The "Turing Complete" game is a great way of learning assembly imo. It made me realised that assembly is just a readable form of machine code, sending a pattern of electric signals to open/close transistors inside the ALU.
  • @filker0
    Be sure to disable optimization in the compilation and linker. "objdump" has an option to include the source lines with the disassembly listing, and when used with another option to mark the beginning of each source line, you can better see how the code is generated. I learned assembly on PDP-11 first, 6502 and 8080 after that (1978). Many architectures since, and still at it.
  • @RiccardoBocci
    Assembly was so beautiful, elegant and intuitive in the 8bit era
  • @edgeeffect
    Like all really good ideas, I've never thought of it ever in my life. And then, when I'm shown, I say "Oh yeah... but that's just obvious!" GREAT STUFF!
  • Always excited to see educational material for understanding Assembler.
  • @thecircusb0y1
    This was so obvious yet still blew my mind. Thank you
  • Very well done, but let me add that you should let listeners know that you could be writing assembly in 2 ways ... one with an operating system (OS) or one with no OS, also known as "running on bare metal". If the latter, there is no use of system calls because you don't have a system ... your program has direct access to all the hardware of the chip. This is usually true of microcontrollers that aren't using a real-time OS.
  • @bradmccoy1747
    I started learning Assembly in 2017; and I kind of like it and hate it at the same time. But I can't seem to be able to walk away from it. I would love to see more videos. Thank You!
  • @NathanY0ung
    I use Godbolt every time I want to know how C code complies to ARM assembly. It also supports other languages, too. I recommend playing with it.
  • @9SMTM6
    I have a hard time believing that this is the best strategy for learning your first assembly language. But I can see this very much being helpful at taking up another assembly language after you learned another first. Without that, to my knowledge, you'll usually have to go through a lot of documentation that's not easy to search through nor to understand in terms of the concepts we programmers use more commonly.
  • The first time Ilearnt assembly, i used that method by compiling c code with gcc and then use the disassemble of gdb (I was 16 at the time and didn't know of objdump). It helped me a lot even though right now I prefer something more straightforward like the wikipedia page on calling conventions or pages with the list of registers and all.
  • @tonym5857
    Love your videos πŸ‘πŸ‘πŸ‘
  • @c4ashley
    Less than a minute in, and YES YES YES. I've been trying to write some assembly for a Hitachi H8/520 recently, and it's... hard. I also write for 8-bit PICs, and though there is fairly decent documentation, they've gone through a few assemblers so finding the "right" information is hard. But when I do get something running successfully, oh man do I feel like a clever cookie! But seeing how code is run differently on H8 vs PIC vs AVR vs ARM vs x86-64 really gives you a good understanding of... well, how different architectures run code.
  • Hey man can you make an x86 assembly beginner course? I'd absolutely love learning assembly from you!
  • @eitancollett
    hi low level learning, must say u make some amazing vids and really help me learn new concepts.