System calls at the assembly level

Поділитися
Вставка
  • Опубліковано 4 лис 2024

КОМЕНТАРІ • 21

  • @MathCuriousity
    @MathCuriousity 2 місяці тому

    Amazing video! I absolutely love how you creatively set up mistakes ahead of time to teach us various things. Love your teaching method! Do you mind explaining “linkers” and “interrupts”? Would love to see more videos for noobs like myself where you do this same sort of thing for various other topics! Mistakes included !

  • @jimmyl3898
    @jimmyl3898 2 роки тому +4

    Very, very informative and interesting video to watch and understand how code works under the hood! Thanks for sharing this :)

  • @rt1517
    @rt1517 Рік тому +4

    For the C version, as you are using system calls, you probably could avoid to use the C runtime easily with a couple of flags (-nostartfiles -nodefaultlibs -nostdlib -ffreestanding).
    You probably would have to re-implement strlen though, and call the exit system call instead of returning from the entry point.
    If I am not mistaken, the resulting binary would be a lot closer to the assembly one.

  • @Mama_Aisha00
    @Mama_Aisha00 6 місяців тому

    🇩🇿I am from Algeria and I extend my regards to you

  • @AymanFakri-ou8ro
    @AymanFakri-ou8ro 4 місяці тому

    nice! thanks!

  • @patrickmullen2596
    @patrickmullen2596 Рік тому +1

    Great video 👍

  • @rapoliit
    @rapoliit Рік тому +1

    Simply superb.

  • @TowelPanel1852
    @TowelPanel1852 2 роки тому +1

    Really underrated!! Thanks!

    • @artemslab
      @artemslab  2 роки тому

      Happy you found it useful 🙂

    • @Aluna123
      @Aluna123 Рік тому

      Indeed useful mate@@artemslab, thanks

  • @rockieyang9651
    @rockieyang9651 2 роки тому +1

    Great explanation. Thanks

  • @deepanshusharma1619
    @deepanshusharma1619 2 роки тому

    great video, thanks for making this video.

    • @deepanshusharma1619
      @deepanshusharma1619 2 роки тому

      I tried to find you on linkedin but could not find.
      Is there a way we can connect?

  • @samarthtandale9121
    @samarthtandale9121 Рік тому +1

    I don't understand why do we need to link even the simplest of assembly programs? I mean, what are we linking it with ... The instructions and syscall instructions are always there (service of hardware) ...

    • @fastandfemme
      @fastandfemme Рік тому +5

      The linker's job is to merge the memory layouts of object files into a single layout for the final program, and encode that layout in an executable format the OS can handle.
      Even if we have a single object file, it might not be in a valid executable format, so we still need to pass it through the linker to put it in the correct format (as you point out, there might not be anything to link, but we may still need changes to the memory layout, or additional metadata such as the address of the program's entry point).

    • @samarthtandale9121
      @samarthtandale9121 Рік тому

      @@fastandfemme oh cool .... Thank you for that 🙏🏽

  • @m_a_r_s_h_a_l_l
    @m_a_r_s_h_a_l_l Рік тому

    мужик, ты молодец

  • @dclxviclan
    @dclxviclan Рік тому

    Мув асемблер, энд олл озэ, зис соу хард, ю хэв найс инглиш бро ❤

  • @kamalchan9756
    @kamalchan9756 Рік тому

    bro come on light mode

  • @markmanning2921
    @markmanning2921 11 місяців тому

    interested always video in assmelber programming language but.. AT&T syntax is as DUMB as my sentence construction here. The x86 process or is NOT a 68000 processor and at&t is ***WRONG*** and also unreadable.
    I write almost exclusively in assembler for linux and will never use any syntax other than the one devised by the creator of the processor.