You Can Learn Assembly in 60 Seconds (its easy)

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ม.ค. 2023
  • You can learn assembly in 60 seconds, its NOT HARD.
    🏫 COURSES 🏫
    www.udemy.com/course/c-progra...
    🔥🔥🔥 SOCIALS 🔥🔥🔥
    Low Level Merch!: www.linktr.ee/lowlevellearning
    Follow me on Twitter: / lowleveltweets
    Follow me on Twitch: / lowlevellearning
    Join me on Discord!: / discord
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @bookle5829
    @bookle5829 ปีที่แล้ว +1804

    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.

    • @LowLevelLearning
      @LowLevelLearning  ปีที่แล้ว +192

      ayyy someone noticed tyty

    • @bookle5829
      @bookle5829 ปีที่แล้ว +32

      @@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 ปีที่แล้ว +10

      @@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...
      TH-cam, instagram, reddit, tiktok, all have constant feed and FOMO...

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

      That loop thing is actually silly

    • @user-qr4jf4tv2x
      @user-qr4jf4tv2x 6 หลายเดือนก่อน

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

  • @sayeddileri3461
    @sayeddileri3461 ปีที่แล้ว +1203

    Gonna add this to my resume now. Thanks.

    • @citizen320
      @citizen320 6 หลายเดือนก่อน +32

      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 6 หลายเดือนก่อน +20

      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 5 หลายเดือนก่อน +17

      “Assembly, 2 years of experience”

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

      A minute ​@@FreerunnerCamilo

  • @HeyHerdy
    @HeyHerdy 6 หลายเดือนก่อน +257

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

    • @Protocolpimp
      @Protocolpimp หลายเดือนก่อน +13

      What a savage

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

      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 23 วันที่ผ่านมา +7

      Pokemon red and blue were also written in assembly

    • @ViniciusCortezao
      @ViniciusCortezao 20 วันที่ผ่านมา +4

      Super Mario world was written in assembly

    • @savagesarethebest7251
      @savagesarethebest7251 4 วันที่ผ่านมา

      Those are not as big or complex games as Rollercoaster Tycoon

  • @LowLevelLearning
    @LowLevelLearning  ปีที่แล้ว +296

    Damn yall watch shorts wtf also plz sub

    • @devnullsrevenge
      @devnullsrevenge ปีที่แล้ว +6

      The missing ingredient in your channel.

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

      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 ปีที่แล้ว +2

      *TH-cam keeps shoving its shorts in my face*

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

      Already sub to you wanting more tutorials or complete course

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

      Yeah, we do. :-)

  • @31redorange08
    @31redorange08 ปีที่แล้ว +499

    All these suckers taking months to years to learn assembly while I only needed 1 minute.

    • @davidjulitz7446
      @davidjulitz7446 2 หลายเดือนก่อน +6

      Just try to write something more useful in Assembler as a HelloWorld based on a simple system API call. Then you will know if you already master Assembler. :D

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj หลายเดือนก่อน +1

      @@davidjulitz7446 i suggest writing Pong game in assembly, wich supports multiplayer : ))

  • @D3ss3rtTV
    @D3ss3rtTV 27 วันที่ผ่านมา +21

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

  • @h_geen
    @h_geen ปีที่แล้ว +479

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

    • @kayakMike1000
      @kayakMike1000 ปีที่แล้ว +70

      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 ปีที่แล้ว +26

      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 ปีที่แล้ว +8

      @@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.

  • @deforesttthompson9299
    @deforesttthompson9299 ปีที่แล้ว +34

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

  • @lefteriseleftheriades7381
    @lefteriseleftheriades7381 ปีที่แล้ว +104

    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 6 หลายเดือนก่อน +25

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

    • @Theproductiveside
      @Theproductiveside 2 หลายเดือนก่อน +1

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

    • @lefteriseleftheriades7381
      @lefteriseleftheriades7381 2 หลายเดือนก่อน +2

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

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

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

    • @akostadinov
      @akostadinov 27 วันที่ผ่านมา +2

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

  • @HuntingKingYT
    @HuntingKingYT ปีที่แล้ว +162

    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 10 หลายเดือนก่อน +24

      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. 10 หลายเดือนก่อน

      @@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 8 หลายเดือนก่อน +14

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

    • @spaghettiking653
      @spaghettiking653 8 หลายเดือนก่อน

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

    • @dev__004
      @dev__004 7 หลายเดือนก่อน +4

      Im genuinely curious. How would you do that?

  • @Kadori328
    @Kadori328 ปีที่แล้ว +229

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

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

      😂😂😂😂😂

    • @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 ปีที่แล้ว +15

      ​@@TheStickCollector it is helpful in web development too

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

      ​@@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

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

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

  • @blablabla7796
    @blablabla7796 ปีที่แล้ว +14

    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 8 หลายเดือนก่อน +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 7 หลายเดือนก่อน +1

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

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

    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.

  • @troyhackney148
    @troyhackney148 6 หลายเดือนก่อน +3

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

  • @prasadshopte7595
    @prasadshopte7595 29 วันที่ผ่านมา +1

    More of this please. Mainly system calls and such.

  • @freedom_aint_free
    @freedom_aint_free ปีที่แล้ว +43

    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 8 หลายเดือนก่อน

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

  • @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 8 หลายเดือนก่อน +5

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

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

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

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

    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 หลายเดือนก่อน

      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.

  • @tharun7290
    @tharun7290 11 หลายเดือนก่อน +1

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

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

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

  • @dragonmax2000
    @dragonmax2000 3 หลายเดือนก่อน

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

  • @Stopinvadingmyhardware
    @Stopinvadingmyhardware ปีที่แล้ว +84

    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 ปีที่แล้ว +23

      @@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 7 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      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 หลายเดือนก่อน

      ⁠@@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

  • @Haxel0rd
    @Haxel0rd 6 หลายเดือนก่อน +1

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

  • @javirub-prog-channel
    @javirub-prog-channel 2 หลายเดือนก่อน +2

    now i can build rollercoaster tycoon in assembly

  • @kwith
    @kwith 7 วันที่ผ่านมา

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

  • @EugeneHaroldKrab
    @EugeneHaroldKrab ปีที่แล้ว +35

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

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

    So that's it, I now know assembly Programming? Ok, updating my LinkedIn profile right now!!1

  • @warlordkeys
    @warlordkeys 8 หลายเดือนก่อน

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

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

    Please more of these

  • @droidy347
    @droidy347 10 หลายเดือนก่อน +9

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

  • @faultboy
    @faultboy 9 หลายเดือนก่อน +2

    "Variable inside the processor" jeeeeeezzz...

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

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

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

    You rock dude. Thank you.

  • @jaxonmcalley
    @jaxonmcalley 4 หลายเดือนก่อน +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 หลายเดือนก่อน

      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.

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

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

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 6 หลายเดือนก่อน

    i need more easy tutorial like this

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

    poease do more of these ❤️❤️

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

    Perfect Loop.

  • @SCPShyguy-vd7rm
    @SCPShyguy-vd7rm 2 หลายเดือนก่อน

    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

  • @nikolaikalashnikov4253
    @nikolaikalashnikov4253 3 หลายเดือนก่อน

    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 ?

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

    Do mips assembly next ❤

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

    try leaning 8086 assembly

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

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

  • @farazahmed9247
    @farazahmed9247 2 หลายเดือนก่อน

    holy shit just wrote my first assembly. Thank you

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

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

    • @glungusgongus
      @glungusgongus 6 หลายเดือนก่อน

      What syntax is he using

    • @zmike9831
      @zmike9831 6 หลายเดือนก่อน

      @@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 6 หลายเดือนก่อน

      @@zmike9831 whys it called AT&T

  • @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.

    • @abdullahalmasri612
      @abdullahalmasri612 ปีที่แล้ว +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

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

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

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

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

    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)

  • @effsixteenblock50
    @effsixteenblock50 หลายเดือนก่อน +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 23 วันที่ผ่านมา

      Bro, you good?

    • @richmondkoomson3403
      @richmondkoomson3403 21 วันที่ผ่านมา

      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 21 วันที่ผ่านมา

      @@richmondkoomson3403 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.

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

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

  • @kryzieg
    @kryzieg 6 หลายเดือนก่อน

    Such a trivial example for assembly

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

    Correct! It isn't hard!

    • @user-un5tf3zz6k
      @user-un5tf3zz6k ปีที่แล้ว +3

      Yup. It isn't hard to understand assembly, it's just hard to build something complex out of it.

  • @michaeldiaz4285
    @michaeldiaz4285 6 หลายเดือนก่อน

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

  • @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👍🏽

  • @ian6273
    @ian6273 6 หลายเดือนก่อน

    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

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

    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)

  • @Kyoz
    @Kyoz 6 หลายเดือนก่อน

    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.

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

    rax is a variable inside the processor? Is it not a register where we can store variables in the processor?

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

    This why people hate assembly if even hello world starts like this

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

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

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

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

  • @515161
    @515161 2 หลายเดือนก่อน

    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 หลายเดือนก่อน

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

  • @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

  • @anthonygayflor
    @anthonygayflor 2 หลายเดือนก่อน

    Why should we hire you?
    I can write hello world in assembly.
    You’re hired.

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

    I prefer NASM syntax.

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

    When you get to advanced levels you learn Intel extended assembly instructions like "MOVBW2GCBIMOMM", which is a newer instruction for "Move bad word to garbage can because it might offend my mother". Really optimizes performance.

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

    You are the best 💪👏

  • @CM-xr9oq
    @CM-xr9oq ปีที่แล้ว

    Ok, subbed!

  • @nordgaren2358
    @nordgaren2358 ปีที่แล้ว +6

    AT&T syntax. :(

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

      I had to do it to keep compilation simple I’m sorry D:

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

      @@LowLevelLearning it's alright. We all make mistakes. 😂
      Good short, though. 👍

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

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

  • @ajfalo-fi3721
    @ajfalo-fi3721 11 หลายเดือนก่อน

    Good to know more recent stuff, I only know 8086

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

    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.

  • @tocraft573
    @tocraft573 ปีที่แล้ว +6

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

    • @spaghettiking653
      @spaghettiking653 8 หลายเดือนก่อน

      It is better tbf...

    • @tocraft573
      @tocraft573 8 หลายเดือนก่อน

      @@spaghettiking653its really not

    • @spaghettiking653
      @spaghettiking653 8 หลายเดือนก่อน

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

    • @tocraft573
      @tocraft573 8 หลายเดือนก่อน

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

    • @spaghettiking653
      @spaghettiking653 8 หลายเดือนก่อน +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.

  • @xreage
    @xreage 6 หลายเดือนก่อน +1

    What architecture is this?

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

    This is nice

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

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

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

    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.

  • @88Spint
    @88Spint 6 หลายเดือนก่อน

    Cool now make rollercoaster tycoon xD

  • @bilalmohammadi7723
    @bilalmohammadi7723 6 หลายเดือนก่อน

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

  • @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 6 หลายเดือนก่อน

      Explain

    • @jjones3705
      @jjones3705 6 หลายเดือนก่อน

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

    • @glungusgongus
      @glungusgongus 6 หลายเดือนก่อน

      @@jjones3705 what is dest src

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

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

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

    not the AT&T syntax

    • @glungusgongus
      @glungusgongus 6 หลายเดือนก่อน

      Wdym

    • @thomfox871
      @thomfox871 6 หลายเดือนก่อน

      Yes, this is for GNU assembler. The syntax seems backwards

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

      ​@@glungusgongusthere's intel and AT&T syntax for ASM, intel is much nicer

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

    How to write an assembler?

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

    Python: print("Hello World!") 😂

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

      The first time I wanted to learn Python on my own printing HelloWorld was working but it insisted on requiring root permissions for getting input from the keyboard :D It was a kind of "WTF???" moment for me :D

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

      @@gabor222 How long you spend debugging lol

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

      @@mrnoelle After some google search I found out that I had to include some other library to resolve the issue as I remember, but one thing is sure: learning C64 assembly gave me much more feeling of success at the start.

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

      @@gabor222 "At the start" ohhh

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

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

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

    Am a professional programmer now
    Thanks 🐐

  • @nbooth
    @nbooth 2 หลายเดือนก่อน +1

    You gotta do a syscall just to end the program?

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

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

  • @senzmaki4890
    @senzmaki4890 6 หลายเดือนก่อน

    print("Hello World!")

  • @davidjulitz7446
    @davidjulitz7446 2 หลายเดือนก่อน

    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 :).

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

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

  • @user-co6ww2cm9k
    @user-co6ww2cm9k 6 หลายเดือนก่อน

    the solarized we have at home:

  • @umairmuhammadabbas3929
    @umairmuhammadabbas3929 6 หลายเดือนก่อน

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

  • @BaldiReycaster
    @BaldiReycaster 3 หลายเดือนก่อน +1

    How to make print function

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

    is the mov instruction pseudo instruction? or in cisc everything is a proper instruction)

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

    The perfect loop doesn't exi-wow before you start

  • @vitoprashad5670
    @vitoprashad5670 2 หลายเดือนก่อน

    Instructions unclear, the trees are now speaking binary

  • @PatrickStaight
    @PatrickStaight 6 หลายเดือนก่อน

    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?

  • @overbored1337
    @overbored1337 6 หลายเดือนก่อน

    Yodastyle assembly be like