You Can Learn Assembly in 60 Seconds (its easy)

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • You can learn assembly in 60 seconds, its NOT HARD.
    🏫 COURSES 🏫
    www.udemy.com/...
    🔥🔥🔥 SOCIALS 🔥🔥🔥
    Low Level Merch!: www.linktr.ee/...
    Follow me on Twitter: / lowleveltweets
    Follow me on Twitch: / lowlevellearning
    Join me on Discord!: / discord

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

  • @bookle5829
    @bookle5829 Год назад +2173

    Finally, someone's being more creative with doing loops instead of say "and that's why..." or "so..." or anything I've seen in tiktok.

    • @LowLevel-TV
      @LowLevel-TV  Год назад +226

      ayyy someone noticed tyty

    • @bookle5829
      @bookle5829 Год назад +39

      @@sophiacristina I left tiktok months ago. It's not a terrible app. But you really can't stop scrolling unless you make an attempt.

    • @sophiacristina
      @sophiacristina Год назад +11

      @@bookle5829 It was a sort of a joke, even if i dislike tiktok, but understandable...
      Yes, it is about dopamine, the constant feed and the FOMO releases it and dopamine is know to be addictive... By what i know, this is intentional...
      RUclips, instagram, reddit, tiktok, all have constant feed and FOMO...

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

      That loop thing is actually silly

    • @user-qr4jf4tv2x
      @user-qr4jf4tv2x 10 месяцев назад +1

      we have an error in comment it was because it was tiktok

  • @sayeddileri3461
    @sayeddileri3461 Год назад +1551

    Gonna add this to my resume now. Thanks.

    • @doleo_metal
      @doleo_metal 10 месяцев назад +41

      I'm just going to bring my phone to the interview and show them this video. When it's over I'll ask, "when do I start?"

    • @adtc
      @adtc 10 месяцев назад +27

      Oh, since you showed me the video, I have now learned Assembly so I don't need to hire you anymore. I'm going switch careers from HR professional to Assembly programmer and hire myself for the position.

    • @FreerunnerCamilo
      @FreerunnerCamilo 9 месяцев назад +24

      “Assembly, 2 years of experience”

    • @ChabPoha
      @ChabPoha 8 месяцев назад +1

      A minute ​@@FreerunnerCamilo

    • @Sirbozo
      @Sirbozo Месяц назад

      lol

  • @HeyHerdy
    @HeyHerdy 10 месяцев назад +503

    The fact that Roller Coaster Tycoon was written in assembly is insane to me

    • @Protocolpimp
      @Protocolpimp 5 месяцев назад +33

      What a savage

    • @dsfbstudent
      @dsfbstudent 4 месяца назад +23

      I think it's ok, but it's a lot of work!
      I think the code of this game instructs the CPU to write data into its memory-mapped address space, and the GPU could copy this data into its memory, and the rest of the code in RAM or other devices could be processed by the CPU to make the game run.
      And so, the data processing occurs, of course!

    • @gasplanet4341
      @gasplanet4341 4 месяца назад +31

      Pokemon red and blue were also written in assembly

    • @ViniciusCortezao
      @ViniciusCortezao 4 месяца назад +18

      Super Mario world was written in assembly

    • @savagesarethebest7251
      @savagesarethebest7251 3 месяца назад +11

      Those are not as big or complex games as Rollercoaster Tycoon

  • @deforesttthompson9299
    @deforesttthompson9299 Год назад +48

    The first line is making the start lable available to the linker not telling the program where to start.

    • @lewis6648
      @lewis6648 Месяц назад +2

      What’s a start label and what’s a linker 😵‍💫

  • @h_geen
    @h_geen Год назад +525

    i like how you say 60 seconds and this will probably take me 6 years to understand

    • @kayakMike1000
      @kayakMike1000 Год назад +78

      Nah... you're much smarter than you think. It's just a command sequence to set up a system call to tell the kernel to dump a string to standard out

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

      what lol no

    • @TheGoodChap
      @TheGoodChap Год назад +28

      Assembly is actually very simple its just more tedious to write and understand when analyzing code. The same advice I have for learning to code (study lots of other people's code) applies to assembly too, get ollydbg and analyze programs youve written or are familiar with and look at how it's layed out and try to figure out what it's doing. If you don't want to mess with NASM and want to do super simple stuff when you load a program in ollydbg you can deliberately overwrite code with nops and then insert your own asm you write into that area and set the top of your code as your origin and watch your hand made code run right there stepping through it to see it working and watch the registers :)

    • @plasmahvh
      @plasmahvh Год назад +9

      @@TheGoodChap if youre on windows, visual studio has a built in disassembler. (you can even select specific parts of code to convert them into asm and even debug in asm)

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

      @@plasmahvh gcc -S for the win.

  • @LowLevel-TV
    @LowLevel-TV  Год назад +332

    Damn yall watch shorts wtf also plz sub

    • @devnullsrevenge
      @devnullsrevenge Год назад +8

      The missing ingredient in your channel.

    • @dragonblade3166
      @dragonblade3166 Год назад +7

      most youtubers would spend like 16 minutes describing this and you just did it in 60 seconds. kudos to you. Will be here if you make more

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

      *RUclips keeps shoving its shorts in my face*

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

      Already sub to you wanting more tutorials or complete course

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

      Yeah, we do. :-)

  • @D3ss3rtTV
    @D3ss3rtTV 4 месяца назад +67

    This blows my mind knowing Chris Sawyer wrote RCT in assembly.

  • @lefteriseleftheriades7381
    @lefteriseleftheriades7381 Год назад +120

    You can't just say mov $1, rax means we will write because on its own it doesn't mean that. You have to mention first that your intention is to making a syscall to write. which requires you to put the ordinal of the write routine in rax, the stream number to rdi, the address of the message in rsi and the length of the message in rdx

    • @tacokoneko
      @tacokoneko 10 месяцев назад +28

      thank you, your explanation is LITERALLY better than his and helps me understand

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

      thx man, do you have any recommendations for channels for assembly other than this guy

    • @lefteriseleftheriades7381
      @lefteriseleftheriades7381 6 месяцев назад +2

      @@Theproductivesidestacksmashing is a good channel about reversing. i don't know about any assemble channels

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

      ​​@@TheproductivesideBen Eater has some good projects that go in depth
      Also, do a search for "Fasm", that should bring up tons.

    • @akostadinov
      @akostadinov 4 месяца назад +2

      This is what happens when you learn assembly for 60 seconds.

  • @HuntingKingYT
    @HuntingKingYT Год назад +171

    Program #2: Write out a random number
    Edit: Didn't expect that many people to take it seriously, just thought of a sarcastic way to show that assembly is not always a plug&play

    • @mayank8387
      @mayank8387 Год назад +26

      You mean like the program generates a random number? Damn then we'll have to implement mersenne twister algorithm in assembly. Bet that'd be tricky as heck.

    • @underscore.
      @underscore. Год назад

      @@mayank8387 i programmed a very simple random number generator from scratch in python a few months ago lol. probably could recode that in assembly

    • @abhishankpaul
      @abhishankpaul Год назад +16

      Solve 3D wave equation and write the output to a data file 😂

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

      @@mayank8387 I think you can just read from /dev/random or some shit, provided you're running Linux.

    • @dev__004
      @dev__004 11 месяцев назад +6

      Im genuinely curious. How would you do that?

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

    Definitely the most easiest way of explaining assembly from what i have seen so far 👍

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

    This is awesome, could you make more of these short explanations with actual tangible result? Thanks and love this channel!

  • @blablabla7796
    @blablabla7796 Год назад +17

    For people who don’t understand, this is how I understood it.
    You can call special functions by setting rax to something, then calling syscall.
    So for example, writing to console is
    Step 1: rax=1
    Step 2: provide other arguments
    Step 3: Syscall
    While for exiting the program it’s
    Step 1: rax=0x60
    Step 2: provide other arguments
    Step 3: Syscall

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

      Nice, here is my summary as well. The rax register is used to say which system call you'd like to access (they're numbered by the kernel), then you can pass additional parameters in the other registers. Then, you run the syscall command. If there's any (integer) return value, it will replace the contents of rax with that.

    • @swirl6996
      @swirl6996 11 месяцев назад +2

      All of this is documented in various man pages for x86!

  • @Kadori328
    @Kadori328 Год назад +249

    Yeah.... Fuck that I'ma stick to C# lmao

    • @tubefile100
      @tubefile100 Год назад +7

      😂😂😂😂😂

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

      Would learning C# help at all or is it only really useful for unity projects? (What I would use it for)

    • @baritonemonke4273
      @baritonemonke4273 Год назад +17

      ​@@TheStickCollector it is helpful in web development too

    • @jakubkucera1973
      @jakubkucera1973 Год назад +12

      ​@@TheStickCollector You can do almost anything in C# and you'll have the knowledge to learn other programming languages much quicker aswell.

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

      @@TheStickCollector learn c++, its much more useful than c#, theres not much c# can do that c++ cant

  • @redcrafterlppa303
    @redcrafterlppa303 Год назад +7

    I can read and understand asm to some extent. But I never wrote it before. Besides some inline asm. I think being able to read it is more important than actually writing programs in asm.

  • @freedom_aint_free
    @freedom_aint_free Год назад +44

    My first experience with Assembly was back in the 80's when I was a kid with the Z80 architecture, what amazing processor it is.

    • @kennethbeal
      @kennethbeal Год назад +8

      Ah, memories... Back in high school I wrote a macro assembler (i.e., ASM plus "macros" which could be complex function calls etc) -- on paper, while vacationing! :)

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

      @@kennethbeal I did use MASM (Microsoft Macro Assembler) a lot back in the DOS era, I used to Write Libraries on MASM and linked the .OBJ with Borland's Turbo Pascal code, it was at the dawn of 32 Bit when it was a new thing.

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

      Old goodies processors,we usually build things from scratch i miss those days😊

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

    dude, you are a natural teacher, keep it going, so awesome, seriously awesome

  • @prasadshopte7595
    @prasadshopte7595 4 месяца назад +1

    More of this please. Mainly system calls and such.

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

    You are absolutely right! Assembly isn't hard at all. Solving problems in assembly is :)

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

      From all I've seen on it, writing assembly is just much more tedious than genuinely difficult to comprehend.

  • @EugeneHaroldKrab
    @EugeneHaroldKrab Год назад +34

    You should do more of these short heavy info packed videos. ❤

  • @notarandom7
    @notarandom7 Год назад +10

    And that's why Fortran was invented. And this is also why I use C++

    • @akulkis
      @akulkis 17 дней назад

      When Fortran was invented, even assembly was quite primitive.

    • @LittlePenguin1-17
      @LittlePenguin1-17 14 дней назад

      I only use C & I'm lookin to learn AMD 64 Assembly!

    • @notarandom7
      @notarandom7 13 дней назад +1

      @@LittlePenguin1-17 good luck. Writing assembly is really fun once you understand it (btw the reason I write in C++ is just because it has alot of stuff I use, I'd also use C if I had no reason to use C++)

  • @janekschleicher9661
    @janekschleicher9661 Месяц назад +1

    The variable $msg does not contain the message itself but the address of the label msg where also the string "Hello world" is stored.
    It's a RUclips Short, so no blame, but I think this can be confusing otherwise. The registers are only 64 bits long, so you can't really store a complete string in them and such os functions usually will work with addresses.

  • @faultboy
    @faultboy Год назад +6

    "Variable inside the processor" jeeeeeezzz...

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

    please kindly make playlist on assembly language💙❤️💚♥️

  • @devnom9143
    @devnom9143 9 дней назад +1

    I haven't seen AT&T/GAS assembly syntax since uni & even in uni while the prof had a slide showing AT&T/GAS assembly syntax when we actually wrote assembly it we used the Intel/MASM/NASM assemby syntax

  • @liorean
    @liorean Год назад +22

    The only issue I have with this lecture is your direct usage of numbers, you'd have a very much better description of the program if you did msg_length, sys_write, stdout, sys_exit, exit_success constants instead (or in capitals if you prefer, it's a convention I'm not fond of, but it exists in most use of most languages...).

    • @spaghettiking653
      @spaghettiking653 11 месяцев назад +5

      Isn't it clearer when you make constants capitalized? That way, you know they aren't variables that could be changed.

  • @javirub-prog-channel
    @javirub-prog-channel 5 месяцев назад +4

    now i can build rollercoaster tycoon in assembly

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

    there is this kind of sort of type of level of beauty in not just writing but also seeing code that low level that is just so satisfying i don’t know exactly why

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

      Merely being able to see exactly step by step all the crap that a computer needs to go through in order to visually render you moving your cursor half a pixels to the right, all within the fraction of a millisecond, is insane in and of itself.

  • @Stopinvadingmyhardware
    @Stopinvadingmyhardware Год назад +87

    Yes, the language is easy, but writing secure software at that level takes a bunch of knowledge and experience.

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

      What means "secure"?

    • @Xyandzaxis
      @Xyandzaxis Год назад +26

      @@albertosoto4280 Something that is not easily exploitable and doesn’t let the user do some stuff outside of its original use case.

    • @hoi-polloi1863
      @hoi-polloi1863 11 месяцев назад

      I always hated written in assembly because you have to manage your own function calls (put stuff on the stack, set return destination, go to the function, read variables off the stack, unroll the stack... so tedious). It's so much easier in C where all that boilerplate is taken care of for you!

    • @Dom-zy1qy
      @Dom-zy1qy 6 месяцев назад +1

      Are there any people nowadays writing production assembly code? I'd assume the performance gain wouldn't really be worth it with modern compiler optimizations.
      Maybe embedded / specific hardware it's worth but idk.

    • @_ColaDev
      @_ColaDev 5 месяцев назад +2

      ⁠@@Dom-zy1qyThe performance of Assembly is basically no different from modern-day programming languages, it was only popular back then for its performance, which was previously unseen

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

    truly the best assembly break down out there. 10/10

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

    Now im burning " The Art of Assembly" book...

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

    This program is asking for user input.
    rax register is used to call os system call 1 means read.
    rdi means file descriptor. also 1 means read.
    rsi pointer to buffer.
    Rdx size of buffer to be read.
    Just recently learn this from AI
    The equivalent c function would be:
    read(int file descriptor, const char* buffer, size_t bufferSize)
    There are about 300 linux system call can be used. This is only one of them.
    Also this is in x86_64 architecture.

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

      Almost
      Rax 1 - write
      Rdi 1 - stdout

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

    This is amazing, I am now a fully qualified Assembly Language programmer for the TIOBE Index 😁

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

    please make a vid on how to easily do this on windows with intel syntax!

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

      What syntax is he using

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

      @@glungusgongus gas also known as gnu assembly, windows is not set up make assembly and gcc outputs at&t syntax which is the worst assembly language to exist.

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

      @@zmike9831 whys it called AT&T

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

    I will finally learn this language 💪💪

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

    The syntax itself isn't what is difficult about assembly. What is difficulty is keeping track about all of the hardware aspects (registers) memory allocation and many other things that are abstracted away in high level languages.

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

    Please more of these

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

    I see what you mean the syntax for lower level language such as assembly is more clear and straight forward

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

    Ugh, I remember assembler. Push, pop, registers, so much fun haha.

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

    try leaning 8086 assembly

  • @droidy347
    @droidy347 Год назад +11

    When a simple hello world statement takes 15 lines of code you know you’re doing something right ;)

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

    I feel like this would have been better explained by doing a few different syscalls & what is expected to perform them as well as _WHY_ the syscall would need the length in %rdx if %rsi has $msg ?

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

    Useful for optimizing certsin algorithms or tasks but I would stick to C.
    It requires 3x more code and 3x more thought to write in pure assembly.
    Write in C. Use inline assembly for optimization.

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

    Usually a constant string will be in the data or rodata section as opposed to text

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

    Do mips assembly next ❤

  • @jaxonmcalley
    @jaxonmcalley 8 месяцев назад +1

    All that for a .087 millisecond of clip of something I didn't even understand. Thanks, man. IT course would be fun.

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

      Learning C and assembly hand in hand makes both languages much easier to grasp. C is really powerful (and dangerous) because of how "low-level" it is. Think of it this way: Would you like 2 pieces of bread with jelly in between or would you like some jelly that is encapsulated in bread boundaries.
      I just really said nothing different there, but the POV and terminology were different. Using C is easier because it comes with a plate, a knife and a jar for the jelly.

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 10 месяцев назад

    i need more easy tutorial like this

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

    You rock dude. Thank you.

  • @normal47712
    @normal47712 20 дней назад

    A course please

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

    Such a trivial example for assembly

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

    holy shit just wrote my first assembly. Thank you

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

    bro, make us a series of videos on assembly, i really want to learn it but i cannot find a good tutorial, that explain in details and gives good links about the system calls codes, tips for asm and what does each asm indtructions does, also it would be cool if you do it on windows. Seem like windows sucks to make asm programs. But i only have windows and i'm too lazy to make a vm (because i have 8 GB of ram lol)

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

    Thanks for share your knowledge! Man, I didn't know that mov could be used inverted... Because I learnt it was mov reg-destination, value-source
    However, with this video I learnt it could operate in inverted way👍🏽

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

    U should add a background because various asm work with different cpus, for example I know assembly for 8 bit and it's 99% different that this (probably 32/64 bit)

  • @SCPShyguy-vd7rm
    @SCPShyguy-vd7rm 6 месяцев назад

    Assembly is generally fairely simple which is its biggest advantage but also disadvantage its like building a bicycle out of its raw materials basically said
    If you were to want to code games in assembly then you would have to implement many simple functions which even the most simple function is already a few lines long so in a nutshell its a very low level language
    You can increase optimisation drastically but its going to take a very very long time to code big projects into it

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

    other flawours if assembly use $ to denote hex numbers and use # for rhe purpose $ is used here

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

    poease do more of these ❤️❤️

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

    God i miss knowing how to do basic programming like i did in 1st grade, i had the time of my life using and masterimg that apple 1.

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

      Timex-Sinclair 1000. BASIC and assembly. Wild times.

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

    Perfect Loop.

  • @nbooth
    @nbooth 5 месяцев назад +1

    You gotta do a syscall just to end the program?

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

    We had to make a sorting algorithm in CS in y86-64 and lemme tell you it was not easy lol but it was really fun

  • @ajfalo-fi3721
    @ajfalo-fi3721 Год назад

    Good to know more recent stuff, I only know 8086

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

    Equivalent to write(1, "Hello World!
    ", 13); in c

  • @МаксимТимошенко-у4у
    @МаксимТимошенко-у4у 7 месяцев назад

    good video, but plz do not use at&t syntax

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

    Today I learned that amd syntax MOV is src, dest while intel MOV is dest, src. Kinda wonder why they're different🤔

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

      Explain

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

      @@glungusgongus intel syntax and and syntax have the reverse 9rdering for operands

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

      @@jjones3705 what is dest src

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

      Depends on who wrote the assembler, not cpu architecture.

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

    Cool vid, but AT&T syntax?

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

    I've always been curious about the programming of microcontrollers and chips on things like motherboards or graphics cards. I don't have a lot of knowledge about hardware outside the fundamentals and would be interested in digging deeper

  • @Sproute-RL
    @Sproute-RL Месяц назад

    Bro got everything open source

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

    A legend once said, If you know assembly all applications are open-source

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

    0:46 ohw, so, the compilation command is `gcc -static -nostdlib`, then where are assemblers like nasm used??

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

    rax is a register not a variable

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

    crazy how the og rollercoaster tycoon was made with THIS code language

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

    I’ll come back to this when I actually need to learn assembly.

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

    👏👏👏 I like your videos...remember doing things with tasm and masm

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

    How to write an assembler?

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

    Man! Just make a playlist on that.

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

    Can you create a proper tutorial for assembly with some projects ?

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

    I prefer NASM syntax.

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

    I like the explanation but I think it could use some clarification; You should have started with (maybe the long format does, if so, excuse this comment! I still liked the clip), that the storing of values into the registers, is because you're preparing a syscall and syscalls use particular registers and the contents of those registers define what syscall you are making.
    If one is somewhat versed in this stuff, this is going to be obvious though, but for those who never made a "raw" syscall, it might not be obvious. For those who are interested in that, and on linux, you can type `man syscall` from your terminal of choice to read more about that.

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

    Learning Assembly is easy, getting it to actually do anything useful, now that is the hard shit ;)

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

    you forget to add it's for Linux, not DOS, for example :)

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

    Ok, now I am lost. I thought assembly was so low you wouldn't just have stdin/stdout/stderr available that easily.

    • @RieMUisthegoaT
      @RieMUisthegoaT Год назад +17

      Assembly is low, but not that low. Lower than assembly would be just ones and zeros. Assembly is essentially programming or manipulating registers/flags instead of variables and using instructions instead of functions. The key difference is registers and instructions are physical things on the microprocessor while functions/variables are abstractions to make life easier
      But there's this thing called interrupts and it makes your life SO MUCH easier and feels sometimes like you're writing in high level languages.
      Assembly is fun, once you're good at it. You can write assembly code like you're writing high level code BUT you also have the knowledge and imagination to think and understand where EVERY bit of data is stored on the memory, or like where and how does these bits move in the MP/memory.
      Sorry for this scuffed explanation lol I have recently finished my assembly course and I suggest also learning assembly in the context of microcontrollers to get an understanding of how the I/O work (like stdin and such)

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

      @@RieMUisthegoaT Thanks for the in depth response, makes more sense :)

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

      @@RieMUisthegoaT bro thanks for that explanation really learn something new

  • @LOL-cp6js
    @LOL-cp6js 8 месяцев назад

    if you can give me an advice to learn assembly, can you give any name of resources to help me learn assembly?

  • @jordanb.2447
    @jordanb.2447 7 месяцев назад

    well there is a lot of good and some bad too I think. You never really explain when you specified that you want the syscall "write", you just tells that mov 1 in rax will write on the screen and "syscall" handle the communication with os. But good video tho, I learned today!

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

    The mnemonics' parameters are in reverse order

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

    Now we learned how to use some API calls to print "Hello World" to the screen. Not much Assembler to see and learn here.
    But, to be fair, what can you expect in 60 seconds :).

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

    You should've mentioned that this only compiles on x86_64 Linux, great vid tho!

  • @effsixteenblock50
    @effsixteenblock50 4 месяца назад +2

    He's simultaneously pranking / punishing the type of person that would actually believe that you can learn assembly in such a short amount of time by teaching using AT&T syntax! "I know - let's choose the syntax that was the brain-child of a freaking telecom company instead of the one from an actual chip designing / manufacturing company - Intel!" - said no one EVER!!!

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

      Bro, you good?

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

      This is just what I was thinking, didn’t specify the assembler being used or the particular syntax and you go about teaching. It these things that make the language confusing. Terrible approach to teaching

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

      @@khonello Hey guys - I thought it would be obvious by my over-the-top, crazed comment earlier that I was attempting humor. While I do prefer intel syntax, I was just joking. Didn't expect people to agree with me.

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

    Meanwhile python:
    Print("Hello World!")
    Lol
    I joke, assembly is really cool

  • @tocraft573
    @tocraft573 Год назад +6

    I have become too used to intel syntax, everything uses it 😢

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

      It is better tbf...

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

      @@spaghettiking653its really not

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

      @@tocraft573 At least the intel syntax doesn't spam %s and $s everywhere :/ that is just a sore on the eyes

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

      @@spaghettiking653 that doesn’t even feel like a good argument, especially when using a good theme

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

      @@tocraft573 How do you use a theme? What software? Any text editor I've used has no highlighting and it's a pain to look at. Moreover, the intel syntax doesn't use those symbols, which proves they're redundant and so there's just no point in writing them.

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

    Bro this is just a hello world program. Anything more complex than this requires MORE effort to write and optimize.

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

    Am a professional programmer now
    Thanks 🐐

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

    I was a 6502 guy but this makes sense, now I'm learning arm for my raspberry Pi

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

    This somehow doesn't work in Libre Office Writer help?!

  • @farhansyabibi170
    @farhansyabibi170 13 дней назад

    So what does mov really do??
    Some tutorials say (mov x, y) mean x = y.
    But here (mov x, y) seems to mean y = x

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

    Python code = print("Hello world")
    Java script= console.log("Hello Word")
    Asm :

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

    I’m here expecting myself to learn assembly by watching these randomly popup shorts

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

    You are the best 💪👏

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

    is anyone else not pointing out the only real instruction he used is mov?
    I guess if you have one Turing complete instruction, that's all you need

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

    Is setting rax to 1 on line 4 independent of the operating system?
    I imagine standard in and out are a rather universal concepts. I think most machines will do something at least POSIX-like. To what extent are IO buffers supported by hardware?

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

      No, not even the function called when doing syscall is standardised across operating systems.

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

    AAAaaaaahhhhhT&T AAAaasembly syntax!
    sorry, I was raised by my mom on intel-style assembly syntax since I typed my first hello world onto her keyboard when I was 3yo & I can't help screaming everytime someone unironically writes x86 assembly using at&t syntax. my sincere condolences.