Assembly Language: 0 Hello, World - X86 (32 BIT) Arch

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ก.พ. 2025

ความคิดเห็น •

  • @samarthtandale9121
    @samarthtandale9121 ปีที่แล้ว +4

    This is by far the most simple and *to the point* tutorial I've seen on this topic ... kudos🎉

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Thanks a lot my friend 🙏

  • @rohitjakhar6672
    @rohitjakhar6672 3 ปีที่แล้ว +8

    Waw
    You explain assembly far better than my college professor

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว +1

      Thank you so much my friend

  • @mauricefakhry8039
    @mauricefakhry8039 3 ปีที่แล้ว +9

    hey Bek. Thanks for this insightful walkthrough. Do more Assembly please, the way you explain it is smooth and clean

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว +1

      Thanks Maurice. I am preparing a series for Assembly, I believe that at least the fundamentals are very important for any programmer, not to code in assembly but to understand how whatever language they’re using works and how this language had evolved from machine to assembly to c, c++, python..etc

    • @aaronstark171
      @aaronstark171 3 ปีที่แล้ว +2

      @@BekBrace any updates on the series? looking forward to it! :)

    • @BekBrace
      @BekBrace  ปีที่แล้ว +2

      @@aaronstark171 Yes, I restarted again, and every week there will be a chapter on assembly, and by the end of the series, I will combine all of the videos to create a full crash course. today @18:00 GMT there's an assembly lesson, the next week and the week after that ..etc

  • @luizferez89
    @luizferez89 3 ปีที่แล้ว +4

    Your channel is so underrated! Awesome videos !!

  • @avinashpatel6745
    @avinashpatel6745 3 ปีที่แล้ว +5

    this is very articulate presentation, Bek, thank you and keep posting these great videos .much respect from Delhi.

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      Thank you 😊

  • @arenaesports2580
    @arenaesports2580 3 ปีที่แล้ว +3

    Seriously this channel is under rated

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Thank you very much for your sincere words 🙏😊

  • @lien-chinwei4815
    @lien-chinwei4815 9 หลายเดือนก่อน +1

    Thank you for line by line walkthrough in the assembly code.

    • @BekBrace
      @BekBrace  9 หลายเดือนก่อน

      Thank you 🙏🙏🙏

  • @sewind6613
    @sewind6613 ปีที่แล้ว +2

    This is of fantastic help; so brilliantly explained. Thank you.

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Thank you very much 🙏

  • @zer0day463
    @zer0day463 3 ปีที่แล้ว +5

    Please make more on assembly, 🥺
    Lots of love from my side ❤
    You saved my day. 🥺

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว +2

      I've been sick for 2 months, currently working on various fastapi tuts, but I'll keep Assembly on the map - Cheers 👍

    • @zer0day463
      @zer0day463 3 ปีที่แล้ว

      @@BekBrace Can we talk, I texted you on Twitter please check,

  • @Darkev77
    @Darkev77 ปีที่แล้ว

    I'm a Python developer and I'm actually excited to watch this series and get an understanding of under the hood memory and pointer operations!

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Great !!! That is the reason, why I started to study Assembly in the first place !

  • @jonmarin7179
    @jonmarin7179 ปีที่แล้ว +1

    Thanks for this video I'm lost in the sauce but this definitely helped a lot!

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Glad it helped!

  • @SunnySingh-sm7vs
    @SunnySingh-sm7vs 2 ปีที่แล้ว +2

    Hey Bek, eager to see more videos on this !!
    Nice explanation 👏👍

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      I promise you 🙂

  • @vladyslav-py-js-go
    @vladyslav-py-js-go 10 หลายเดือนก่อน

    I've learnt a lot ! Thank you😁

    • @BekBrace
      @BekBrace  10 หลายเดือนก่อน

      You're welcome 😊

  • @natedrake3256
    @natedrake3256 3 ปีที่แล้ว +3

    I started to learn x86 1 year ago, but couldn’t continue. Thanks for tutorial, maybe I should return back and restudy it , hello from 🇹🇷 Turkey

  • @whatsmyname6801
    @whatsmyname6801 3 ปีที่แล้ว +4

    This is excellent! Thank you.

  • @maxmuster7003
    @maxmuster7003 ปีที่แล้ว +1

    The show must go on.
    I began to learn how to make videos (no speech) with x86 assembly programming content for the DOSBOX emulator.

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Thanks

    • @maxmuster7003
      @maxmuster7003 ปีที่แล้ว

      @@BekBrace Feel free to use all routines in your projects.

  • @AJGaliciax3
    @AJGaliciax3 2 ปีที่แล้ว +1

    OMG 😭😭😭 Thank you so much! Your video helped me a lot with my project...

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      You're welcome ☺️

  • @MounirSMalak
    @MounirSMalak 3 ปีที่แล้ว +2

    Back to old days

  • @SlideRSB
    @SlideRSB 11 หลายเดือนก่อน +3

    6:00 The int instruction does not mean "integer". The int instruction means "interrupt".

    • @BekBrace
      @BekBrace  11 หลายเดือนก่อน

      It is indeed, an honest mistake, thanks for the heads up

  • @rohitjakhar6672
    @rohitjakhar6672 3 ปีที่แล้ว +5

    And please make more video on assembly

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว

      That's the plan 😉

  • @rohitjakhar6672
    @rohitjakhar6672 3 ปีที่แล้ว +1

    I can't wait for more video :)
    Please upload ASAP

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      In process, my friend 🙏

  • @sollysion
    @sollysion 3 ปีที่แล้ว +9

    Nice video, but i think "int" in this case stands for interrupt, not integer

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว +4

      Thank you 😊
      Yes indeed, INT stands for interrupt not integer, got confused 😕

  • @marcus7387
    @marcus7387 3 ปีที่แล้ว +1

    Ohhhh this is very interesting, thank u man !

  • @ArignoteGilmore
    @ArignoteGilmore 3 ปีที่แล้ว +2

    Awesome and very interesting video also your explanation is clear and smooth 👍😍 keep it up

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว

      Thank you so much 😊

  • @terrym2007
    @terrym2007 ปีที่แล้ว +1

    Great Work. Programmers should know a little about the hardware/software of their machine.

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Thank you 🙏 totally agree

  • @JarppaGuru
    @JarppaGuru ปีที่แล้ว

    5:17 this is where it get hard. what register can use freely that not change with other.
    what register need use push and pop so data is saved

  • @LebbLebb
    @LebbLebb ปีที่แล้ว +1

    Thx, dude!

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Пожалуйста, братан

  • @petitboucle8077
    @petitboucle8077 3 ปีที่แล้ว +3

    what is file descriptor? Thank you

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว

      Preparing a full course on assembly - hang on tight ))

  • @yukinorhiko7388
    @yukinorhiko7388 3 ปีที่แล้ว +1

    Great thank You , sensei

  • @xanaxity
    @xanaxity 4 หลายเดือนก่อน +1

    Nice. !!!!

    • @BekBrace
      @BekBrace  4 หลายเดือนก่อน

      Cheers

    • @xanaxity
      @xanaxity 4 หลายเดือนก่อน

      @@BekBrace Thanks. Where's your discord or Slack? I wanna join.

  • @jinnzhu768
    @jinnzhu768 ปีที่แล้ว +1

    thank you for the nice lecture,but the playlist seems reverse,could you please fix it🎉

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Oh shoot ... Thank you for the alert I'll do it later yes 🙏😊

  • @davidpetersonharvey
    @davidpetersonharvey ปีที่แล้ว +1

    Yes, please!

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Let's Go

    • @davidpetersonharvey
      @davidpetersonharvey ปีที่แล้ว

      @@BekBrace I am getting a seg fault when I run the program. Ubuntu 22.04 with yasm. Any ideas why?

  • @maxmuster7003
    @maxmuster7003 3 ปีที่แล้ว +1

    But we are missing all assembler instructions of the (hldden) output function using a system call, for example including the address calculation of the current screen location to write the ASCII to the command prompt.

  • @GabrielsEpicLifeofGoals
    @GabrielsEpicLifeofGoals 2 ปีที่แล้ว +1

    I'm on windows, anything I can do to get the Assembly compiler?

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว +1

      Sure, this tutorial was in windows too, you need to install windows subsystem for Linux WSL / i have a video on how to do that , it's called Linux Ubuntu setup on windows 10

  • @arenaesports2580
    @arenaesports2580 3 ปีที่แล้ว +3

    If you have time please start a discord server for programming

    • @BekBrace
      @BekBrace  3 ปีที่แล้ว +2

      Thanks a lot my friend.
      Here is a a link for our discord server : discord.gg/WFyMjhmU

  • @eddag6973
    @eddag6973 2 ปีที่แล้ว +1

    Thank u for this Tutorial.. I would like to ask a question if that hello world can change into my name ?

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว +1

      Of course. Like dynamically input a name or hard coding your name as well, both work well

    • @eddag6973
      @eddag6973 2 ปีที่แล้ว +1

      Thank u so much. My project is to put my name and my course and my motto..Is this can type in hello world?

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      @@eddag6973 of course you can do that simply.

    • @eddag6973
      @eddag6973 2 ปีที่แล้ว +1

      @@BekBrace thank u very much..I will try to do it now ..I am using Windows 10 and I Installed WSL for my windows and I am following what u said here..This is my first doing it .

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว +1

      @@eddag6973 good luck, if you need any help just let me know. Cheers

  • @rakesh_roy3448
    @rakesh_roy3448 2 ปีที่แล้ว +1

    Thank you so much sir...

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      you're very welcome my friend

  • @princesimfukwe9158
    @princesimfukwe9158 ปีที่แล้ว +1

    More please I need the basics

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      More coming on the way 😉

  • @bekbraceplus
    @bekbraceplus 2 ปีที่แล้ว +4

    INT -> INTERRUPT 🙂

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      Yes 👍

  • @rachmanrohendi
    @rachmanrohendi 3 ปีที่แล้ว

    nice Bek, keep going.. thanks

  • @JarppaGuru
    @JarppaGuru ปีที่แล้ว

    5:06
    global Start ; Export symbols. The entry point
    section .data ; Initialized data segment
    Message db "Hello World!", 0Dh, 0Ah
    MessageLength EQU $-Message ; Address of this line ($) - address of Message
    section .bss ; Uninitialized data segment
    section .text ; Code segment
    Start:
    like i said too complex. you allready do it diff, but woth have to work LOL

  • @kenkaneshki432
    @kenkaneshki432 2 ปีที่แล้ว +1

    such a great tutorial make full assembly x64 series please

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว +2

      Thank you 😊 I'll prepare a crash course for the x64 arch to be posted by the end of September - cheers

    • @eddag6973
      @eddag6973 2 ปีที่แล้ว

      @@BekBrace looking forward..

  • @redcrafterlppa303
    @redcrafterlppa303 ปีที่แล้ว +1

    I actually started with an understanding on this level and thought assembly is really basic just really verbose.
    But while trying to do simple stuff like writing a function or calling a function I dove down in a rabbit hole of property rules of both platforms and operating systems.
    Things like stack alignment, split register in/outputs...
    Just an example in (unoptimized) x86_64 system v unix assembly in nasm syntax:
    foo:
    push rbp
    mov rbp, rsp
    sub rsp, 16
    mov dword [rbp - 4], edi
    mov rsp, rbp
    pop rbp
    ret
    Guess what that equals in c:
    void foo(int i) {
    }
    Yes nothing more than an empty function taking an int.
    int i
    Is the same as
    dword [rbp - 4] //pointer to 4 bytes below the beginning of the stack frame
    LOCAL VARIABLES ARE A LIE MY FRIENDS, THEY DON'T EXIST XD

    • @BekBrace
      @BekBrace  ปีที่แล้ว +1

      Thank you so much for your thoughts and examples. I am going to start a new Assembly project for a TH-cam tutorial, most likely a full crash course for about 2:30 hours

  • @smokazs2dio482
    @smokazs2dio482 2 ปีที่แล้ว +1

    Please make fulll course

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว +1

      I wanted for long time but really never had the chance yet as I'm working from 9 to 5, but I will do my best to create a series of different videos as a full course for Assembly.

    • @smokazs2dio482
      @smokazs2dio482 2 ปีที่แล้ว +1

      @@BekBrace your explaning skill is amazing ! God bless your work & I'm waiting for a series

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว +1

      @@smokazs2dio482 thank you very much my friend, I’ll definitely plan to do a series in the nearest future

    • @smokazs2dio482
      @smokazs2dio482 2 ปีที่แล้ว

      @@BekBrace All the best ! Dude😎

  • @AKKJ420
    @AKKJ420 5 หลายเดือนก่อน +1

    Please make more videos

    • @BekBrace
      @BekBrace  5 หลายเดือนก่อน

      Sure my friend 😊

  • @veeloth
    @veeloth 2 ปีที่แล้ว +2

    it's still shorter than java

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      😮😮😮 Seriously?

  • @RottenWoodInPower
    @RottenWoodInPower ปีที่แล้ว

    I am learning bare metal programming. In your example you mentioned kernel call, does it mean this example will not run in bare metal, and it only runs in OS? Thank you for responding

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Hej white house :) Thanks for the interesting question. In the context of assembly language and bare metal programming, the term "kernel call" typically refers to a system call or a software interrupt that allows a program to request services from the operating system's kernel.

  • @Osamah001
    @Osamah001 ปีที่แล้ว

    Can you show me how to add two numbers in assembly ?

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Hello Osamah. That's fairly easy you can do it on your own but you have to continue the series my friend

    • @Osamah001
      @Osamah001 ปีที่แล้ว

      @@BekBrace the link ?

  • @legendrags
    @legendrags ปีที่แล้ว +2

    Perfect language for beginners.
    I now feel Chris Sawyer's pain

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      😂😂😂

  • @Osamah001
    @Osamah001 ปีที่แล้ว +1

    How i can install gnu on windows ?

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      To install GNU tools on Windows, you can use tools like Cygwin or MinGW. These tools provide a Unix-like environment on Windows and include a collection of GNU utilities and libraries.
      Visit the Cygwin website:
      Go to www.cygwin.com/ and click on the "Install Cygwin" link and download the setup.exe file.

    • @Osamah001
      @Osamah001 ปีที่แล้ว

      i installed cygwin when i write sudo line it's says sudo command not found

  • @pedrobotsaris2036
    @pedrobotsaris2036 3 ปีที่แล้ว +1

    int stands to interrupt not integer

  • @matheus101999
    @matheus101999 ปีที่แล้ว

    how can i print this in x86?
    printf(“Hello, %s”, name)

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      I'm not sure if I understand your question

  • @wafinashwan8242
    @wafinashwan8242 2 ปีที่แล้ว

    this is just like gas
    thanks

  • @Ptr-NG
    @Ptr-NG ปีที่แล้ว

    What does x86 stand for?

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      "x86" refers to a family of instruction set architectures that are based on the Intel 8086 CPU (Central Processing Unit). The term is often used to describe a particular type of CPU architecture that is widely used in personal computers.
      The "x" in x86 is a placeholder for various numbers that represent different generations and extensions of the architecture, such as 8086, 80286, 80386, 80486, and so on. For example, the term x86_64 refers to the 64-bit extension of the x86 architecture, which is prevalent in modern desktop and server processors.

  • @ismail9028
    @ismail9028 7 หลายเดือนก่อน

    Urdu caption is not showing

  • @JarppaGuru
    @JarppaGuru ปีที่แล้ว

    x85 is too complex lets learn 6502 assembly. i not need x86 assembly i can c and c# faster bfor i assembly hello world

  • @beckett4052
    @beckett4052 ปีที่แล้ว

    this is so confusing compared to python and c#

    • @BekBrace
      @BekBrace  ปีที่แล้ว

      Indeed confusing.
      This is the mother of all languages, nothing is easy here.

  • @ismail9028
    @ismail9028 7 หลายเดือนก่อน

    Please add Urdu caption

    • @BekBrace
      @BekBrace  7 หลายเดือนก่อน

      TH-cam has auto translate now to Urdu

    • @ismail9028
      @ismail9028 7 หลายเดือนก่อน

      Urdu caption is not showing

    • @ismail9028
      @ismail9028 7 หลายเดือนก่อน

      Try again

    • @ismail9028
      @ismail9028 7 หลายเดือนก่อน

      Please add the Urdu caption

  • @eddag6973
    @eddag6973 2 ปีที่แล้ว

    Good morning Sir .Please engligthen me why if I execute this program the become douled.Please help me.. I am beginners
    section .text
    global _start ;must be declared for linker (gcc)
    _start: ;tell linker entry point
    mov edx,len ;message length
    mov ecx,msg ;message to write
    mov ebx,1 ;file descriptor (stdout)
    mov eax,4 ;system call number (sys_write)
    int 0x80 ;call kernel
    mov edx,69 ;message length
    mov ecx,s2 ;message to write
    mov ebx,1 ;file descriptor (stdout)
    mov eax,4 ;system call number (sys_write)
    int 0x80 ;call kernel
    mov edx, 69 ;message length
    mov ecx,s3 ;message to write
    mov ebx,1 ;file descriptor (stdout)
    mov eax,4 ;system call number (sys_write)
    int 0x80 ;call kernel
    mov edx,69 ;message length
    mov ecx,s4 ; message to write
    mov ebx,1 ;file descriptor (stdout)
    mov eax,4 ;system call number (sys_write)
    int 0x80 ;call kernel
    mov edx,15 ;message length
    mov ecx,s5 ;message to write
    mov ebx,1 ;system call number (sys_write)
    int 0x80 ;call kernel
    mov eax,0 ;system call number (sys_exit)
    int 0x80 ;call kernel
    section .data
    msg db 'Computer organization and architecture Project',0xa ;a message
    len equ $ - msg ;length of message
    s2 times 1 db ' Name: Marth Kubulon'
    s3 times 1 db ' bi Course:BSSED major in Computer Science'
    s4 times 1 db ' Year: Third year college'
    s5 times 1 db 'Motto: Sacrifice now enjoy later'

    • @BekBrace
      @BekBrace  2 ปีที่แล้ว

      Thank You.
      What do you mean ?