ARM Assembly: Lesson 1 (MOV, Exit Syscall)

Поделиться
HTML-код
  • Опубликовано: 26 янв 2025

Комментарии • 148

  • @aihtdikh
    @aihtdikh Год назад +146

    Lovely to see that people in the present day, present time, are still connecting to the Wired. Nice work.

  • @immaculate6244
    @immaculate6244 6 месяцев назад +23

    Finally someone teaching this like a regular programming course. Very hard to find such videos. Have this in my college coursework, and they don't teach the basics patiently at all. So happy I found this

  • @paulinoleal5592
    @paulinoleal5592 Год назад +25

    Broooo whatttt!!!!! This Chanel is a gem 💎

  • @ilForni
    @ilForni Год назад +25

    i'm so happy to have found this well-done tutorial after tons of searches! thanks a lot!

  • @mareknovotny7808
    @mareknovotny7808 11 месяцев назад +12

    omg I love the overall aesthetic of your lessons, keep it up :)

  • @natnif6345
    @natnif6345 Год назад +18

    ur channel is awesome you deserve way more of a following. Also the animation with the menu and the clicking is really satisfying for some reason

  • @keterclassentity6716
    @keterclassentity6716 9 месяцев назад +11

    I don't plan on ever doing anything with this knowledge but hearing someone talk passionately about stuff they know about is the best and this channel is a beauty for that

  • @chris3079
    @chris3079 7 месяцев назад +5

    how am I just discovering this channel now, I thought I landed on a 7 year old video and then checked the date. Amazing production. Learned also.

  • @Tanithan
    @Tanithan 2 месяца назад +1

    I’m a beginner with assembly and you made this so much easier for me to learn! The way you teach is very understandable and easy. Great work Laurie! I’m already a fan!

  • @pretzelogic2689
    @pretzelogic2689 10 месяцев назад +1

    Cannot wait to go through all of this series -- and then the rest of your vids. Can't see how I've missed you so long. Thanks for a great presentation.

  • @mattordiway1955
    @mattordiway1955 Год назад +4

    Can't wait for the rest of this series. You do a great job at stepping through this slowly. I feel like only you and Ben Eater take this much time to explain assembly to people. Love it!

  • @kalei91
    @kalei91 Год назад +4

    simple and to the point, glad I finally found a good ARM ASM tutorial video, keep it up!

  • @daniboy0558
    @daniboy0558 3 месяца назад

    11:14 42 the answer of everything, best reference I've ever heard

  • @JethroRose
    @JethroRose 2 месяца назад

    great intro to ARM assembly in a modern platform - I played with x86 assembly way back in the DOS days, and looking to play with ARM, this hit the exact right balance between being too simple and too complex for someone needing just enough of the background to get started with the available tools. Thanks!

  • @vaibhavsijaria
    @vaibhavsijaria 10 месяцев назад +3

    Very underrated channel

  • @shawmakesmagic
    @shawmakesmagic 7 месяцев назад +1

    The production on this is epic

  • @tbthanh7420
    @tbthanh7420 Год назад +2

    Thank you, your voice is so nice so it make assembly easier to learn.

  • @PeterUnboxing
    @PeterUnboxing 9 месяцев назад +2

    If you would do such a series also for the RISC-V architecture, you would be the greatest person in the world.

  • @jordanjackson6151
    @jordanjackson6151 8 месяцев назад +2

    I just started Assembly today (On the higher level, I've learned Python and Lua so far).
    I'd accidently landed on your channel when you were cosplaying while reviewing sort algorithm code. I've always wanted to learn Assembly language. But now I'm subscribed (could've sworn I already was...).
    Isn't it positively-ironic that the person who invented Assembly is a woman? And you're teaching it really well! Awesome and intuitive vids.

    • @shulogou4234
      @shulogou4234 7 месяцев назад

      I have learned assembly language before, but gave up halfway. I also saw LaurieWired's video in the recommended videos on the homepage. After clicking in to watch it, I immediately followed her. LaurieWired's lectures are so damn good. I hope I won't give up halfway this time.

    • @OMNI_INFINITY
      @OMNI_INFINITY 2 месяца назад

      LOL...lua...python...arm assembly...somebody is here for other reasons apparently

    • @OMNI_INFINITY
      @OMNI_INFINITY 2 месяца назад

      @@shulogou4234 LOL...halfway??? Sadly there isn't such a thing seemingly

  • @BLSrr
    @BLSrr 10 месяцев назад +2

    The most cost effective solution to run arm on real HW is to connect a rpi Zero 2 (not Zero 1 - has armv6) or any other rpi 2..5 (rpi5 has a armv8)headless over USB to you system and connect with ssh to it. Great introduction! -- Happy coding! --

  • @jcohen661
    @jcohen661 10 месяцев назад +1

    Very clear and concise. Thank you!

  • @Yu-Fei-Hung
    @Yu-Fei-Hung 7 месяцев назад

    I can’t stop watching the videos because three reasons:
    1.- interest on ARM assembly
    2.- used to watch SEL when I was in college back in the 90’s
    3.- the quality of the content and production
    Best regards from México ! 👍

  • @gvnpeacock
    @gvnpeacock 7 месяцев назад

    This is so well done. I first learned Arm assembly at Apple developing drivers for Apple Newton. I sure wish there'd been something like this around back then!

  • @jackk3094
    @jackk3094 Год назад +1

    Cant wait to see this channel grow, amazing content

  • @sushiConPorotos
    @sushiConPorotos 6 месяцев назад

    Lovely. I liked the explanation of what a register is: "a small memory location in the processor." Yes, actually, like 4nm, tiny thing :D

  • @woddenhorse
    @woddenhorse 5 месяцев назад

    She ooens the vim to write an assembly program!!!!! I am already in love.

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад +4

    i'm person who spent best years of my career rewriting CoreGraphics and UIKit from outside of Apple from scratch using Hopper as guidance, yet managed to never learn asm because it's lame and tedious. your glorious high quality videos, (naturally or intentional? :) leery eyes and lovely voice just sucks me into learning that things i should have just learn years ago. thank you so much you are the best teacher i ever had, and i can see boys of future learning how to combat our future computer overlords by your immortal art!
    ❤❤❤❤❤❤❤❤❤

  • @phoenix7740
    @phoenix7740 5 месяцев назад

    I love you, please keep up the great work! Greetings from Germany

  • @neilclay5835
    @neilclay5835 Год назад +1

    Brilliant presentation and teaching style.

  • @Edison-newworldBlogspot
    @Edison-newworldBlogspot Год назад +1

    Good work Laurie. The flow is super...

  • @OfficialViper
    @OfficialViper 10 месяцев назад

    Your channel is such a gem

  • @HiddenTraveler
    @HiddenTraveler 7 месяцев назад +2

    Hint for GCC v12 on RPi5 with 64bit Raspberry Pi OS:
    If at @15:25 you get: "./hello: cannot execute: required file not found" just add "-static" after "-nostdlib"

    • @redpillcommando
      @redpillcommando 6 месяцев назад +1

      Thank you for posting this. I just found this series and I was wondering if it was possible to just use a Raspberry Pi for this. I take it from your above post that this is in fact possible.

  • @chrishabgood8900
    @chrishabgood8900 8 месяцев назад

    man we did a ton of assembly 30 yrs ago in college, been a WHILE!!!

  • @N0RT0X
    @N0RT0X Год назад

    This is the channel that I need

  • @kailashbtw9103
    @kailashbtw9103 9 месяцев назад

    This was SUCH an interesting video! So cool to have more smart STEM girlies like me :) I am in a systems level class and we have been covering assembly recently, did not know about cpulator but its a great resource for getting practice!

  • @someuser3383
    @someuser3383 Год назад

    Thank you for this course. Continue, please.

  • @appusage299
    @appusage299 Год назад

    cant wait for next lession, great works

  • @alex-v7e6v
    @alex-v7e6v 5 месяцев назад

    awesome assembly course, thank you very much👍

  • @GeorgiyChipunov-C65
    @GeorgiyChipunov-C65 5 месяцев назад

    I learned assembly in debug in x86 from the Able book, this is pretty cool, hello world was written by using interrupts . Can’t wait to try your setup and try run assembly on raspberry pi zero and pi4 (armv6 and armv7) kernels also Android armv8

  • @tech_dineshm2259
    @tech_dineshm2259 5 месяцев назад

    Such a nice explanation

  • @cstrovn
    @cstrovn Год назад

    This was great, hope you keep up!

  • @MrWaalkman
    @MrWaalkman 10 месяцев назад

    Been a minute since I've seen Neko running around on the screen... And nice tutorial, too. :)

  • @noname-ck6ld
    @noname-ck6ld 8 месяцев назад

    you're awesome. thanks for the series.

  • @Jdvc-yd5tx
    @Jdvc-yd5tx 5 месяцев назад +1

    In code it's SWI, or SoftWare Interupt, but when compiled it becomes SVC, SuperVisor Code. lol. Two very 'interchangeable' OpCodes Laurie. I can't believe you're paying for the cloud, $63.51¡ Great scott! Why not buy a Raspberry Pi for $35 and install Risc OS? You can always do your RUclips video production in Windows..... 🖋

  • @davidhand9721
    @davidhand9721 10 месяцев назад

    People who know assembly are 80% sexier than those that don't.

  • @Buddharta
    @Buddharta Год назад +5

    Nice! Thank you for this video series! What do you think about following along using an arm sbc? Do you think there might be some problems if it is 64bit or another version of the arm ISA?

    • @lauriewired
      @lauriewired  Год назад +2

      There shouldn't be issues using an ARM sbc as long as it's not a significantly different/super old ISA. ARM64 will cause a few differences to the register sizes and such, but most of the overall concepts will be the same.
      As long as you are on ARMv7 or higher most of these lessons should just work as expected.

  • @kurtm54
    @kurtm54 2 месяца назад

    Love the content and the production quality. I’d like to know how these intro graphics are made along with the Picture in Picture video borders

  • @martinmaartensson
    @martinmaartensson Год назад +1

    High quality content :-)

  • @flopasen
    @flopasen Год назад +1

    great tutorial, keep going!!

  • @guigomez3441
    @guigomez3441 11 месяцев назад +1

    hey, excellent !! Do you have the same guide for x86 or x86-64 assembly than your ARM website guide for instructions?
    Thanks a lot!

  • @Mantikor333
    @Mantikor333 Год назад +1

    PC register is always increased by 4 because of the 32bit(=4byte) architecture?
    I am looking forward to the rest of the playlist! Thank you for sharing!

  • @kolosso305
    @kolosso305 Год назад +3

    Cool tutorial, but I'm just here for the corgis :)

  • @shefiroth12
    @shefiroth12 Год назад +5

    Hi, thank you for the video.
    I couldn't run the program using the gcc command you provided on raspberry pi 4.
    I need to modify it
    `arm-linux-gnueabi-gcc -o hello hello.o -nostdlib -no-pie -nostartfiles`
    hope it's helpful

    • @brianh.000
      @brianh.000 11 месяцев назад

      Yes, that was helpful.. But why? When I tried to run hello, I got "cannot execute: required file not found", but after using "-no-pie -nostartfiles", it worked fine, and I got "42". What magic did those flags do?

    • @brianh.000
      @brianh.000 11 месяцев назад

      I didn't end up needing the "-nostartfiles" flag, but did need the "-no-pie" flag.
      "-no-pie" is apparently for disabling the default PIE (position independent executable)... 🤔🤔

    • @naelpontes8444
      @naelpontes8444 10 месяцев назад +2

      ​@@brianh.000For those interested, the problem here is related to memory layout.
      By default, compilers try to generate position independent executables (PIE). That's because they're smaller in size. These executables have their code and data sections placed at random memory addresses during runtime. However, Raspberry Pi being an embedded system, its hardware has a limited amount of memory with specific reserved regions. So you will need to disable PIE by making the executable a position dependent executable (PDE) instead. The trade-off here is that PDEs tend to be much larger files.

    • @oliverdowning1543
      @oliverdowning1543 7 месяцев назад +1

      Thank you SO MUCH. Absolutely saved me I’ve been struggling for bat half an hour trying to get this damned ELF to run.

    • @tkonan
      @tkonan 7 месяцев назад

      @@naelpontes8444 Hey there. How does this compare with @HiddenTraveler's recent suggestion to use '-static', can you say?

  • @johnmckown1267
    @johnmckown1267 5 месяцев назад

    I am using virt-manager on Linux x86_64 as a front end to qemu for "messing around" with ARM.

  • @ka7znm
    @ka7znm 9 месяцев назад +20

    I am going to nitpick your choice of words... values are not passed to registers... registers are used to pass values to the system call. It is possible that this detail is no longer correct, as I am an old fart. But "passing" was always something that happened with parameters or data between processes or to and from functions. Registers get written or read. Thank you for great video.

    • @АндрейДенькевич
      @АндрейДенькевич 7 месяцев назад

      Write argument read parameter.

    • @ka7znm
      @ka7znm 6 месяцев назад +1

      @@АндрейДенькевич I don't want an argument.

    • @PR-cj8pd
      @PR-cj8pd 5 месяцев назад +1

      ​@@АндрейДенькевичno, you define a parameter, but you pass (read/write) an argument

    • @АндрейДенькевич
      @АндрейДенькевич 5 месяцев назад

      ​@@PR-cj8pdyes, i pass(write) argument, but never read(receive) it.
      I receive parametr and pass it as argument.

  • @davidomar742
    @davidomar742 9 месяцев назад +1

    na this girl is too good of an actress holy shit

  • @vx-iidu
    @vx-iidu Год назад +1

    are you planning to do a series on x64 asm as well?

  • @chmanie
    @chmanie 9 месяцев назад

    Could one also use a Raspberry Pi in the local network to develop on?
    Thank you for these video series, really nice to follow along

  • @MaxCarponera
    @MaxCarponera 7 месяцев назад

    Just a question. What benefit do you have in using gcc to link the program like it was C ? That's why the linker misses the stdlib, because it's not C. The assembler program is compiled after the "as" command, you can just link and generate the executable with "ld". "ld" will look for "_start" label, not the "main" function, and generate the executable file.

  • @Alitar1212
    @Alitar1212 8 месяцев назад

    This girls editing so wild it had me wondering what linux distro shes using for the first min

  • @johnmckown1267
    @johnmckown1267 5 месяцев назад

    virt-manager (qemu) with aarch 64 doesn't have a "swi" instruction. I don't see it in the ARM doc on aarch64. This a Fedora 40 AARCH64 system via virt-manager on Fedora 40x86_64.

  • @tuworlds
    @tuworlds 6 месяцев назад

    ok so what can build if i was to look into arm programming

  • @ChristopherBruns-o7o
    @ChristopherBruns-o7o 3 месяца назад

    9:02 If you think about it though to demo s best practice tutorial having prints before return 0 would not make sense iterating through the process unless you exit successfully since the printf WOULD technically error but being beings of habit just assume the exit success will be included in the end of the guide.
    Also doesn't Hello World chronologically not make sense since it was the one of the pair who wrote C to first use Hello World in the meme setting. If this true I would assume assembly predates C since Compiler.
    These are all just assumptions.

  • @BubaJapanska
    @BubaJapanska 11 месяцев назад

    great work....

  • @عبدالعفوهقي
    @عبدالعفوهقي 3 месяца назад

    Hello our engineer, please is there a course to teach ARM but hardware and not software. I want to know and understand the function of each pin. Thank you.

  • @ДмитрийШпаков-о3н
    @ДмитрийШпаков-о3н 9 месяцев назад +1

    reminds me of x86 DOS asm programming, with all these "mov ax, 4c00h" and "int 21h".

    • @rty1955
      @rty1955 7 месяцев назад

      The x86 is so brain dead

  • @chiragmalik3872
    @chiragmalik3872 9 месяцев назад

    hey can you or someone tell me what do you do? and how can i achieve it?

  • @mr.shredder5430
    @mr.shredder5430 11 месяцев назад

    is learning arm asm good for audio hardware

  • @st0rm129
    @st0rm129 6 месяцев назад

    I liked the fastest I could the moment I saw that Lain edit lmfaooo least based assembly practitioner

  • @breves
    @breves 10 месяцев назад +1

    Are you reeeally on Copland OS? I thought that OS was just for super_secret_agents and pirates of the Caribbeans:)

  • @Un_Pour_Tous
    @Un_Pour_Tous 7 месяцев назад

    asm the best lang for virr in the 90's

  • @polycoder
    @polycoder 10 месяцев назад

    which microphone do you use?

  • @chiranjeebdas709
    @chiranjeebdas709 7 месяцев назад

    Beauty with talent... thanks for the explanation

  • @redpillcommando
    @redpillcommando 6 месяцев назад

    I know this is a one year old video and this may be a stupid question, but can anyone tell me why I could not just use a Raspberry Pi 4 for this. The Pi is a native ARM after all and it runs Linux and even has the "as" command built in?

  • @hamzazahidulislam3490
    @hamzazahidulislam3490 29 дней назад

    Thanks

  • @breves
    @breves 10 месяцев назад

    if you get an error :cannot execute binary file: Exec format install do sudo apt install -y qemu-user-static binfmt-support
    sudo dpkg --add-architecture amd64
    sudo apt update
    sudo apt install libc6:amd64

  • @in_ashish
    @in_ashish 3 месяца назад

    She's girl, she's beautiful, and she codes in assembly => "SHE IS SHEER GENIUS!"

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    EDIT: correction , orthodox asm docs are present

  • @ak-1337-g7c
    @ak-1337-g7c Год назад

    please make tutorial for x64 / x86 as well if possible

  • @johnkunze5362
    @johnkunze5362 Год назад

    I have a gambas3 ide for arm available. No gdb yet. In /use/bin you wll find the abi-as linked to as. In 64b this is the same so I'm soft-linked to as7 for 32b leaving as for 64b. Also, align 4 all .data's or bus error, and add .arch arm7-a before code and data.🤒🙏🥰

  • @Team6OWG
    @Team6OWG Год назад

    Can you go over RISC-V?

    • @sushiConPorotos
      @sushiConPorotos 6 месяцев назад

      Yeah, and I also need a tutorial for the HAL-9000 assembly code please.

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    EDIT: missing stack explanation!

  • @Kaboomnz
    @Kaboomnz 5 месяцев назад

    Kathleen Booth would be proud.

  • @solidwire
    @solidwire 7 месяцев назад

    Your too Cool 😎.

  • @Jdvc-yd5tx
    @Jdvc-yd5tx 5 месяцев назад

    If Robin over at 8 Bit Show and Tell was more photogenic he'd probably use this format, instead we're forced to stare at an ugly Commodore 64 or Vic, not exactly beautiful Risc OS v5.30 or Laurie's lovely retro Mac OS. This version of Mac OS has always been a favorite of mine, I particularky like the 'start menu' at the bottom of the screen, similar to NeXT OS. 😎 🖋

  • @deadbeef2482
    @deadbeef2482 Год назад +4

    is there anything you *can't* do? 🤯🤔

  • @Accanfo
    @Accanfo 4 месяца назад

    Nice nice

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    vim with key bindings ❤❤❤❤❤❤❤❤❤❤❤❤

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    notice: your likeness and art are expropriated in name of humankind. thank you for your service, blessings upon your gene-line

  • @SleepyChoco
    @SleepyChoco Год назад

    👍👍

  • @emerelle3535
    @emerelle3535 10 месяцев назад

    I like elves, maybe I should look further into this!

  • @sergshutk2757
    @sergshutk2757 Год назад +1

    Вам не обязательно использовать Azure для работы с ARM-кодом. Если у вас Linux-x86(-64) вы можете работать с ARM-кодом прямо из терминала. Для этого необходимо установить binutils для соответствующих архитектур.
    ruclips.net/video/Wk4o7OjXmEw/видео.html - не сочтите за рекламу. В том видео веду подготовительную часть по работе с ассемблером GAS и описываю необходимые инструменты для работы. Так же есть продолжение в других видео, но не для новичков, точнее не для совсем новичков.

  • @gtas321
    @gtas321 2 месяца назад

    She's a dream 😍

  • @ihack4free
    @ihack4free 11 месяцев назад

    Now do it in x86 and talk about Movfuscator!

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    EDIT: obscure unorthodox assembly docs

  • @arvinnick
    @arvinnick Год назад

    OK let me bring my soldering iron and multimeter. I'm going to make some robots.

  • @ajdarseidzade688
    @ajdarseidzade688 7 месяцев назад +1

    18:08 - Look, this very beautiful girl can also play the double bass!!!

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    EDIT: labels explanations

  • @Avokadik13
    @Avokadik13 Год назад

    Dude, visuals so awesome. Mostly that kind of tutorials is looks and sounds like shit.
    P.s. What's that music in the end? Sounds familiar

    • @lauriewired
      @lauriewired  Год назад +3

      Thanks for the compliment! The end song is Thanatos from Neon Genesis Evangelion ;)

    • @Avokadik13
      @Avokadik13 Год назад

      @@lauriewired thx

  • @standardtemplateconstruct1596
    @standardtemplateconstruct1596 10 месяцев назад

    yall fans please train LoRA for Master Engineer's face and body likeness and channel chrome, we got other wars to fight at the moment