Assembly Language in 100 Seconds

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 พ.ค. 2024
  • Assembly is the lowest level human-readable programming language. Today, it is used for precise control over the CPU and memory on the bare metal hardware of a computer. Learn the basics Assembly with NASM in 100 Seconds.
    #compsci #programming #100SecondsOfCode
    🔗 Resources
    NASM Assembler www.nasm.us/
    x86 Assembly Guide www.cs.virginia.edu/~evans/cs...
    How a CPU Works • How a CPU Works in 100...
    WASM in 100 Seconds • Web Assembly (WASM) in...
    📚 Chapters
    🔥 Get More Content - Upgrade to PRO
    Upgrade to Fireship PRO at fireship.io/pro
    Use code lORhwXd2 for 25% off your first payment.
    🎨 My Editor Settings
    - Atom One Dark
    - vscode-icons
    - Fira Code Font
    🔖 Topics Covered
    - What is Assembly Language?
    - What are registers on a CPU?
    - Assembly language basics tutorial
    - How to say hello world in assembly
    - Who invented assembly language?
    - Assembly vs Machine Code
    - x86 vs ARM architecture
  • วิทยาศาสตร์และเทคโนโลยี

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

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

    a wise person once said: "if you know assembly, every software is open source"

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

      OllyDbg hehe

    • @white-bunny
      @white-bunny 2 ปีที่แล้ว +422

      Big Brain Time

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

      @@itzhexen0 Right

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

      true lool

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

      @@itzhexen0 calm down dear

  • @Windowsfan100
    @Windowsfan100 ปีที่แล้ว +1735

    It's wild to think Chris Sawyer managed to write the entirety of RollerCoaster Tycoon 1 and 2 all by himself in this language.

    • @bivamshukhadka8953
      @bivamshukhadka8953 10 หลายเดือนก่อน +93

      I just watched a video about him which is what brought me to this video.

    • @deadpl55
      @deadpl55 10 หลายเดือนก่อน +66

      I just saw that video like half hour ago he's god of game development

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

      @@user-mm9jy8mz1g What makes it so easy?

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

      @@user-mm9jy8mz1g scratch is the same as assembly, got it

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

      Don't forget about Randy Linden, who wrote Doom for the SNES and the PS1 emulator 'Bleem!' in assembly

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

    I had a couple assembly programming classes during my CS course in university. It's definitely a much different way of writing programs compared to higher level languages. To me, it felt like a puzzle game, where management of "position" within memory was a huge part of it. Function calls are also interesting, since essentially it's just a block of code in memory with a pointer you can jump to, then jump back to your previous position once finished. Even a program to just do simple math was quite involved. No such thing as strings either, just char arrays.
    Funny enough, taking that class on assembly finally helped me "get" C. All the stuff about pointers and memory management/allocation didn't click until writing assembly, then I understood what it was for. Looking at C as an abstraction over assembly really helped me become a better programmer.

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

      This gave me an idea for an actual puzzle game where you use simple opcodes to move numbers between boxes and it gets more and more complicated until you realise that you’re writing assembly

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

      That's EXACTLY what C was designed for, my friend. Congrats

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

      Yep, C is basically a better macro assembler. I feel your heureka moment!
      I came from the other direction, and it took a while to get what C was actually good for :)

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

      @@circuit10so like human resource machine

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

      @@levaniandgiorgi2358 Oh, I didn’t realise that already existed

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

    Am I the only one who thinks Jeff has the gift of making even the most complicated concepts look simple?

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

      and he is the richest man alive...wait thats a different jeff (right?)

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

      @u1121 It's assembly, and teaching isn't a easy job, even it's an easier language.

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

      @@multiarray2320 the richest man alive is Elon XD

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

      no, you're not the only one ^_^'

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

      Yes, he is great at explaining concepts, but assembly is easy once you get used to it.

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

    "My favourite part about WebAssembly is that neither has it anything to do with assembly, neither has it necessarily to do with the web."

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

      Wasm is a regression to software development. i dont understand the hype at all

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

      @@archmad Its hyped because it allows you to write web applications with all (or the majority of) Javascript abstracted away. I would never go back after using blazor wasm. Its just miles easier to write good code and you get access to powerful tools like resharper / nuget ecosystem ontop of anything javascript.

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

      @@archmad Wasm is Java done right with the experience of 2 decades of failing. Change my mind 😛

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

      ​@@ZephrymWOW as much as i love wasm for what it allows, i must say my experience with it supposedly eradicating the need for js has proved that it isn't really finished.
      WebAssembly seems to focus too much on being 'headless', being able to be run without the web browser nor even js enviorement, completely ignoring that this is the whole point of why it was created in the first place.
      Every single possible action you'd want to perform in javascript can indeed be performed using wasm, but only after you:
      1. Import the functions needed.
      2. If they have anything to do with strings, go through thousands of loopholes to get them right for both the wasm memory and js memory.
      3. Only then call said functions within your wasm.
      It results in that either you or your enviorement/build tools (emscripten, wasm-pack, etc) *will* end up generating a *huge* mess of a "glue" javascript file that does the thing your web browser should have done in the first place.
      This is completely unnecessary and shouldn't be a problem in the first place, yet it is.
      Thus every website implementing webassembly will come with these giant files that will sacrifice the page loading times, cache space and overall both user and programmer experience.
      One step forwards, two steps backwards.
      I love yet i hate it. It's awesome.

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

      @@beProsto 1.) You are misusing dependency injection. You can enable everything globally and it will be injected as needed. It's a better version of web pack. 2.) Give me a real example of your talking out of your ass parroting someone else. 3.) Its headless because of MAUI. You can just use a blazor dll and now you have xplatform THAT RUNS ON KERNEL. Every other alternative spins up a chromium container and is a glorified browser.

  • @john.dough.
    @john.dough. 2 ปีที่แล้ว +756

    0:46 WebAssembly should not be confused with normal Assembly dialects like x86. It is much more of a compilation target than a language you would actually want to write in for performance reasons.

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

      exactly, apples to oranges comparison, almost nothing related between those 2 other than having "assembly" on the name

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

      I would say that the WebAssembly text representation totally qualifies as an assembly language for the WebAssembly binary representation.
      Also, you can also theoretically create actually hardware that runs WebAssembly binaries, it's just that it's intended use case is to run it on a VM, similar to Java.

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

      Wasm is a binary instruction format rather than assembly. However it does come with an assembly like language. I don’t know it’s name unfortunately

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

      @@sohn7767 afaict it's just known as webassembly text format. Its file extension is usually .wat

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

      @@missingsemi missed a golden opportunity there to call it .wtf

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

    Always wanted to learn Assembly, but never have I understood it's complexity. You simply explained the most basic part of the Assembly language in 100 seconds clearly. Thanks! I might use this for future references!

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

      Hey! It helps to start learning assembly on older chips that were less complicated. In my Uni we work with assembly on 8051 microcontrollers. They are quite old, but it's easier to grasp the basics on them. Overall, architectures used in microcontrollers tend to be a bit easier to understand than x86.

    • @dr.strangelove5622
      @dr.strangelove5622 2 ปีที่แล้ว +36

      You should go ahead and learn it. I personally feel that my ability to debug things and make programs work increased after working on some simple projects in which I coded in assembly language.
      I would say that instead of learning about x86 assembly language, you should learn asm of Arduino Uno/Atmega328p. That is where I started. It is simple, and when those LEDs blinks, you get a feel of what it means to write assembly and how stuff works.

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

      I'd highly recommend starting with a RISC instruction set like ARM. It's a reduced instruction set so it will be a lot less confusing than x86 when you are just starting out. Derek Banas has a pretty good video to get you started: th-cam.com/video/ViNnfoE56V8/w-d-xo.html

    •  2 ปีที่แล้ว +10

      Learning an assembly language is pretty useful to better understand how a computer operates, I would also recommend going for a RISC architecture, they tend to have less instructions and more registers and I feel that helps reducing the complexity to start doing something nice, even if it is just adding 2 numbers and saving the result in a third registry. The one I first started with, many years ago, was the MIPS 3000 variant, that was the cpu used in the PlayStation 1 and very similar to the one used in the Nintendo 64.

    • @jan.tichavsky
      @jan.tichavsky 2 ปีที่แล้ว +20

      Assembly is simple, it consist of simple instructions. The complexity comes from trying to program more than adding two numbers together. You need alot of instructions, to construct higher level logic, take care of program state, access memory, data structures. Then you need to understand many registers in the processor, how talk with all the peripherals and so on. It's easier to start with microcontroller and move from there. I enjoyed the AVR architecture, it's 8-bit CPU with about 100 instructions. But the whole processor datasheet can have 500 pages for all the various modules like analog to digital converter or serial interface.

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

    I literally just started learning Assembly for fun, and I came to TH-cam to take a break... and lo and behold... Fireship has a video on it!

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

      Who tf learns assembly for fun?

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

      @@KiranVishwak me ;v

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

      Every video in this channel has a similar comment like this lol, these comments look rigged from my side

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

      @@slowpoke8670 Goddamn

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

      @@KiranVishwak The exact comment shows up every time fireship releases a 100s video, so this is just one of those.

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

    Assembly only looks complicated to the beginners but it's really not. MASM even provides high level directives like IF, ELSE, WHILE and standard macros for I/O that makes it really straight forward to focus on the performance of your algorithm.

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

      I never knew this, that's pretty cool.

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

      What's the difference to C at that point?

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

      @@eUnkn0wn you can write inline assembly in C if you want, difference is of performance and control over your code, bit shifting and direct access to stack frame and hardware. You can't do that with C

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

      I had a tutor back in the mid-90s when I was just a teen hanging out on the local BBS... he always said "it's all rather simple", and I never got it and was wholly confused.
      Until one day when it just clicked and I realized all you're doing is reading, changing, and writing values to memory or output ports, and whatever is there interprets it; like the value 10 can be a green pixel in video memory.

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

      @@raz0229 There is a talk by Matt Godbolt "What has my compiler done for me lately" (or somesuch), where he demonstrates really well how unlikely you are to optimize better than your compiler at this point. Besides C is basically just that: High-level assembler.
      Not saying that dabbling in ASM doesn't have its place, but personally I needed it mostly for debugging.

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

    While I was studying digital electronics, I used to count binary digits with my hands. People gave me weird looks, but hey, you can easily count up to 32 with one hand.

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

      31 you mean? unless 0 fingers was 1...

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

      @@murkethecow exactly

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

      And with both hands you can even count up to 1024

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

      bro how many fingers you got?

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

      @@Micahtmusic 10 fingers are equal to 10 Bits and 2^(10) are 1024

  • @vizthex
    @vizthex ปีที่แล้ว +23

    i can't believe the rollercoaster tycoon dev was insane enough to use this.

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

      He not only used it, he created some masterpieces. More like, "He used the shit out of it" lol

    • @vulture-6
      @vulture-6 2 หลายเดือนก่อน

      ​@@treanglewho was he?

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

    A quick correction: the bss section is for variables whose size is known but data is not. We reserve space for variables in the bss section with resb (reserve byte). The data section is for variables whose initial value is known, and the rodata (read only data) section is for constants

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

    Congrats on hitting basically all of the languages 🥳 What's next, compilers/linkers/JIT in 100s? Pub/sub in 100s?

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

      VHDL in 100 secinds.

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

      I am sure there is some other language he didn't covered.... otherwise tomorrow another language will born...
      Does he covered "V"? The new replacement of go....

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

      Compiler Design in 100s would actually be cool.
      From text to IR to output... yeah, would watch ^^

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

      @@vaisakhkm783 Nim and Zig are also as of now uncovered

    • @jimbo-dev
      @jimbo-dev 2 ปีที่แล้ว +3

      making a cpu in 100 seconds

  • @reginaldnestlethorpe9041
    @reginaldnestlethorpe9041 ปีที่แล้ว +76

    A small but important caveat: in most use cases, assembly still sits above the OS / kernel. So you won't work with actual physical memory ("bare metal") but with virtual memory; an abstraction provided by the OS. An exception might be when you are programming in kernel space.

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

    WE did assembly language one semester in my University CS days in a 8085 or 8086 Microprocessor kit. We needed to check the chart referring to codes which had instructions. It was fun doing until you miss one step and repeat all over again.

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

      why did you have to repeat it all over again? wasnt the code saved?

    • @SailorMoon-yv7xf
      @SailorMoon-yv7xf 3 หลายเดือนก่อน

      I have to study this year, czn you give me some tips or good books to help me understand it ?

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

      @@SailorMoon-yv7xf there's an assembly subreddit

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

    also, .data is not for constants that do not change, it's basically an initialised version of the .bss section that takes up space in the executable. you can actually change it. for actual constants that do not change, use .rodata.
    Interesting video though :)

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

      That makes sense, given that I gotta assume rodata stands for read-only data

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

      @@finadoggie yep

    • @mihiguy
      @mihiguy ปีที่แล้ว +10

      that takes up space *in the executable*. .bss, .data and .rodata all take up space in memory, the difference is that .bss is not stored in the executable but initialized with all zero bits by the executable file loader.

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

      @@mihiguy thanks for correcting that :)

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

      @@Snail5008 you are welcome. Thanks for corrrecting your comment :)

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

    Nice video. A little correction: The .data section can be modified. The .rodata has the same purpose and can't be modified.

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

    Man. Your videos are so clean. So precise. No junk. No dumb intro that lasts 10 seconds. You title it perfectly as well. Thank you for adding junk-free material to the internet.

  • @studio48nl
    @studio48nl ปีที่แล้ว +38

    At 'computer school' I had to write an assembly compiler (in C)... The exercise/project was called 'Microsim'.
    Also, store the assembly code at sector 0 of a floppy, and you got yourself a booting program 😄

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

    Interesting how similar yet different this is from compiling with gcc

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

      Gcc does the same thing, but just hides it away.

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

      in steps of compilation + linking of c++, converting to asm is an intermediate, so basically we start from there in this case

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

      its basically the same thing, c and c++ are just higher level

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

    Note: The method you used to write your hello world program here wasn't really "just" assembly (which is understandable, since writing a miniature operating system for a '100 Seconds of'-video is probably out of scope). You still used the kernel-specific API calls.

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

      TBF if you run something in a modern operating system you HAVE to use API calls (called system calls) for anything that isn't just calculations. Otherwise you'd segfault.
      So unless you want to install DOS or create your own ring 0 OS because you want to build the third temple on your computer or something. You gotta accept that nothing you write will truly be "in assembly".

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

      @@mrmimeisfunny At my job we don't use a operating system (well, we make our own RTOS), instead we program an SPI link to a PuTTY-linked peripheral and printf by sending data down the SPI line. So you can do printf without any API/syscalls, but bugger me is it hard work

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

      @@mrmimeisfunny I should have clarified that I know that there's really no other way to do this (without writing your own os). Would not exactly be great if any program could just run any instructions it wants to without restrictions (through syscalls/an API).

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

      @@mrmimeisfunny I set my screen resolution to 640x480 to please God

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

      Gregory Fenn curious what exactly you do that requires this, sounds interesting

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

    And to think that Roller Coaster Tycoon 2 was completely written in Assembly language by one single guy, insane.

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

      I didn't know this, Chris Sawyer, wow! And it's an awesome game, the kids loved it. Reminds me of Eric Chahi writing Another World for the Amiga. A masterpiece, which he wrote alone. Some computer games are really impressive examples what one or two persons can accomplish.

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

    Dude you're so unbelievably awesome at making these short videos!

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

    I did some assembly in my computer architecture class. Super interesting but glad I can use higher level languages for everyday programming 😂

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

      Repent and follow Jesus my friend! Repenting doesn't mean confessing your sins to others, but to stop doing them altogether. Belief in Messiah alone is not enough to get you into heaven, you must become a new creation and be born again by responding to the Holy Spirit. - Matthew 7:21-23, Revelation 3:15-16 cf. Hebrews 10:26-29. Pay close attention to your thoughts and how you respond to your inner monologue because it has a greater impact than you think. Call on the name of Jesus and pray for Him to intervene in your life, and do all that you can to follow His ways.

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

      ​@@benc589 Wait. Do we have to pray to the CPU? Which religion is that? Reset...beep.. peep. rebooting system.

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

      ​@@benc589 Funny you say that. Jesus never claimed divinity and he rejects people calling in his name instead of The Father (The God Above) in many passages of the Bible. Should the god deserve being called and worship?
      Why don't you worship the one who sent Jesus? And believe in the ways of His Final Prophet Muhammad? The prophet that has been prophesized in the scriptures?

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

      @@maxmuster7003 He must have hate Assembly Language because C is the only true programming language.

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

      @@crystalluze939 Assembly is an anarchist Language, whereas C (typicaly) is a fascist Language.

  • @syk.3329
    @syk.3329 2 ปีที่แล้ว +4

    Thank you so much, these are really appreciated for learning or getting a glimpse of important techs !

  • @r1konTheAutomator
    @r1konTheAutomator 8 หลายเดือนก่อน +6

    I started my software journey in middle school reverse engineering, so I studied x86 assembly, PE architecture, stack smashing, etc. It was SO interesting to me, I would print out Iczelion tutorials and bring them to class to study. It brings back so many happy memories ❤

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

    This is the most condensed one yet! Glosses over TONS!

  • @TopTierTales-ux4se
    @TopTierTales-ux4se 7 หลายเดือนก่อน +1

    This is propably the best video about assembly which I have ever seen (so far).

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

    This has to be one of the most concise ASM hello world tutorial I've ever seen

  • @pebaz
    @pebaz 9 หลายเดือนก่อน +6

    Literally how are these videos this good? Absolutely fantastic! The graphics were great, the pacing was on point, and the narration is just down-right awesome.

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

    Damn, I was waiting for this. Thanks Jeff! Very cool 👍

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

    I like how he uses "Hi Mom" instead of "Hello World" 😂😂

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

    Every programmer should learn the basics of NASM/FASM. It teaches you so much about architecture!

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

    Awesome video, I’m in a assembly language and computer organization class right now for my CS degree and we’re using the RISC-V assembly language.

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

      ☝️☝️☝️☝️✍️✍️❣️

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

    I HAVE BEEN WAITING FOR THIS VIDEO, THANK YOU SO MUCH!!!!!!!!!!!!!!!!!!!!!

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

    As someone who used to code sort routines in assembly, this video brings back some memories...and not all of them good.

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

    eyyy i use ASM a lot for my little z80 computer i made. this is a nice video to help explain what im doing to other people. it also makes my work a little more appreciated because now some people have the context to know how much work i put into it. Thanks for this because i suck at explaining things >.>

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

      z80 or gbz80? ;)

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

      @@IngwiePhoenix Z80

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

      @@IngwiePhoenix It uses an 8255 for the pia and the zilog DART for serial. 32k ram and 32k eeprom. got it to say hello world through an FTDI cable!

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

      @@zilog1 that's really cool dude!

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

      @@awsumturtle Thanks!

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

    Im here to learn how difficult it was for Chris Sawyer to make Rollercoaster Tycoon.
    He wrote 98% of the code in assembly, by himself.
    An absolute legend.

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

    Thank you so much bro. I have been waiting so long to know about assembly.

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

    Omg man, the coupling you made with NASN & WASM! I think this takes the title of amazingly good video by accident,l🤣 I applaud 👏🏿🙏🏿🙏🏿

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

    it's amazing how far we've come honestly my respect who daily codes in assembly

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

      ✍👆👆Invest now the market is affordable and profitable strategies ·
      ✍️✍️✍️❣️❣️

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

      eh it's okay tbh you just write much but it basically boils down to basic arithmetic and memory management.

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

      Insane to know the original pokemon games were written in assembly. Then the absolute madman, Satoru Iwata, optimized the fire out of them and fit a whole other game into the cartridge.
      RollerCoaster Tycoon too, and that was one person!

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

      @@andrewhooper7603 pretty much all games before the mid 90s were written in asm

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

    I got my start with MIPS32 in university and I'm currently learning 6502 assembly just for fun. It's a really fun CPU to learn and the X16 uses it just like the C64.

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

      I learned MIPS in university as well, does it matter what version of assembly we learn? When starting out I was so confused on the difference between arms and mips, and when searching tutorials they never showed what I was learning in class. I want to learn assembly but don't know what version to go with.

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

      @@sergiohernandez72 That depends on why you want to learn it. If you want to understand the concepts, it doesn't matter. Learn any or preferably several of them (to see the differences). You might even want to have a look at completely synthetic ones (like MIX or DLX) or byte-codes like Pascal's or Java's. If you want to write real-world code in assembly (to make if faster or smaller or remove side-channels) then you would learn the assembly language of a processor in wide use: x86_64, ARM, some microcontroller, maybe a GPU ...

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

    I just found out about your channel and I don't know what to watch first. Only thing I have to say.. Good JOB!!!

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

    I love you man , been waiting for my beloved language so bad !!!!

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

    The madlad did it - and even flavoured the like and subscribe again!
    I have been looking at Gameboy assembly for a long time, mainly for the GameBoy and GameBoy Color. Starting with the GBA, you can use ARM instruction sets and the tooling for both is pretty incredible (sdcc, lcc, z80sdk, ...). It sure is far different from writing nice looking code, but if you want to get something critical done, then your best way of achieving it, is to skip every and all abstractions and go bare metal via Assembly. :)

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

      Actually DevKitArm and GBDK is the way most people go nowadays and some people actually managed to make impressive stuff with it thanks to the layer of abstraction. We're seeing more and more people make games for those platforms and part of the reason is excellent support for the C programming language. Now, if only CC65 was actually just as nice...

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

      @@doigt6590 GBDK uses SDCC and I personally am still waiting for it to actually support C99... I wanted to try and use V which compiles to C, but because of ampersand statements, it makes SDCC error out a lot. But, DevkitARM/-PPC is amazing! I have those installed too. Personally, I am impressed how many unofficial SDL ports there are for some of those handhelds, which is pretty amazing!

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

    Having developed programs for Intel 8086, I can say that the language helped me to understand the low level workings of a program built with a high-level language (like C++, Python)

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

    I love you so much! You're the best! Keep on rocking!!

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

    Your videos are a great source of information 😃
    Always the Best

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

    It's amazing how I just started learning Assembly yesterday and here you are with this awesome video.🔥

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

      ☝️☝️☝️☝️✍️✍️❣️.

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

      Bro assembly is way more complicated than that you can't just learn it in one day. It'll take months to learn the basics and another months to master

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

      @@thecoolnewsguy Cool. Any resources you could recommend ?

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

      @@tebogonomnqa sorry but I swear idk 😩

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

    Amazing job! Suggestion: HLSL ( High-Level Shading Language ) in 100 Seconds

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

    I needed this last semester for microprocessor 1 class, this was a lot easier to get

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

    Can you please do a full length video on this. Never have I paused a short video so many times and never have I been sadder it was over.

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

    This video inspired me to start learning assembly, and I thank you for that! I'm currently on multiplication, and know some basics about number comparaison ! (cmp, je, jne, jse, etc)

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

      Update: I've managed to code an entire biginteger library in x86 assembly. Truly has been a ride.

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

      Great buddy!

  • @Ramy-mn4kw
    @Ramy-mn4kw 2 ปีที่แล้ว +20

    Man learning this language as a comp sci student is a torture.
    And some of my friends still complain about C++ lol

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

      Actually, learning assembly is easier than learning C++

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

      @@TheKelor i can relate

    • @davidl.7383
      @davidl.7383 2 ปีที่แล้ว

      @@TheKelor Can you elaborate on that?

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

      @@TheKelor depends on the person but i agree

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

      @@davidl.7383 as C++ is on a higher level of abstraction, plus the fact that it's a "superset" of C, it make it difficult to really understand the mechanics behind the language and it has a really steep learning curve.
      Assembly is basicslly simple oprations with basic logic.
      But at the end, it will obviously be easier to make an app in C++ rather than in assembly.

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

    Thank you! I watched all the 100 tutorials on your channel and now I am a senior programmer earning 100k/nanosecond!

  • @rtx-sj8tr
    @rtx-sj8tr ปีที่แล้ว +1

    A guy in my school designed his own opearating system and gave our names to the various functions
    Always wondered how he did that
    Thx for the video

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

    It's so funny how he calls it an app lmao

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

    After instruction, there are zero or more operands. (Not one or more operands). For instance, a NOP (no-op) instruction has no operands.

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

    Nice one. Would love a 1000 seconds video on this subject

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

    Boy this video would helped so much 6 months ago. Very basic but easy to understand

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

    Love your videos!Keep doing the good work and you'll reach 10M+ subscribers

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

    Hey Jeff do you plan on making a glsl in 100 seconds video or a tutorial? I've been playing with it for a bit with ThreeJS and I'm surprised you haven't made a video about it yet. I really love your videos and watch them as soon as you post them, keep up the good work!

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

    How on earth do you create these visuals?!!!! The most perfect presentations ever!

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

    WOW that was a fast explanation. thank you so much for enlightening me lol

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

    tbh learning to read x86 assembly is pretty easy but when it comes to actually using all those specialized instructions like "CVTTPS2PI" (god i hate SSE) its quite overwhelming

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

    Hell.... This is way more informative than our lecture slides...

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

    My great aunt used to program 30 years ago, and said her favorite language was assembly by far.

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

    I learned MIPS-Assembly in university. Confusingly I found it much easier and had more fun with it than with C.. I don't know why.

  • @SammYLightfooD
    @SammYLightfooD ปีที่แล้ว +40

    I grew up with the C64. You could relative simply write Basic programs, which was great but they were quite slow. Assembler (for the 6502) was difficult to learn (even more without the possiblity to get information via the internet, you needed books, books, books...) but gave you a lot more possibilities and exponentially more speed. Note that with assembly language you don't only have to learn the instructions (mnemonics) and how to build routines, but also how to use libraries or the system custom chip architecture with all of its registers and how they work. Using Assembler was a must for quality and speed. And so, on 8 bit systems like the C64 nearly all of the commercial software was written in this tedious but fast language.
    Note that the detail information from 1:00 in the video is for x86 assembly, which runs on modern pc systems but is ... as a language a bit clunky.
    If you want to try out assembly yourself I'd recommend 6502 asm f.e. for the C64, which is pure 8 bit oldschool. Or 68k assembly f.e. on the AtariST or Amiga. It's nearly orthogonal, which means it's a good/nice assembler dialect imho. Compared to 6502 asm this 16-bit assembly is a bit more powerful and convenient. Btw. Winuae is a good Amiga emulator and Asmone a good assembler to start with.

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

      z80 asm is my favourite, i used to do small games on my ti-84 calc with this, and there's some insane programs made in assembly for this machine, while the basic is just about using the functions to draw math stuff and things like this, the processor is a 15mhz z80 (while the gameboy is a 4mhz one) and assembly programs can use all of the archive memory, aka about 480ko (with 24ko of ram)... there's programs like a doom "port", a gameboy emulator or games simulating 9-level grayscale (there's no native support for grayscale on this machine), all of them entirely made in asm

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

      Repent and follow Jesus my friend! Repenting doesn't mean confessing your sins to others, but to stop doing them altogether. Belief in Messiah alone is not enough to get you into heaven, you must become a new creation and be born again by responding to the Holy Spirit. - Matthew 7:21-23, Revelation 3:15-16 cf. Hebrews 10:26-29. Pay close attention to your thoughts and how you respond to your inner monologue because it has a greater impact than you think. Call on the name of Jesus and pray for Him to intervene in your life, and do all that you can to follow His ways.

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

      I like to use intel 80386/80387 32 bit CPU. Today on an Android tablet with a Dosbox emulator app. I put all instructions into batch file to create tiny executable with a little help from debug.

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

      I disagree that 65xx Assembly was difficult to learn. The Programmer's Reference Guide from Commodore covered pretty much anything you would want or need to know... and at least there was no need to deal with segments and offsets, as with x86 Assembly. If you used an Assembler (like PAL)... the landscape was even easier.

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

      @@TheUtuber999 To have some 16 bit offset register on x86 are easier to handle as two bytes in the zero page of the C64 for building an address. On C64 we have a lot of calculation with 16 bit values, but only 3 register with 8 bit.

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

    I immediately subscribed and Press the bell icon after watching the quality of the content.

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

    Used to love coding in assembler. Used mainly machine code monitors for the lack available assemblers (the software) for the C-128.
    Once i got an old 286 as a sidekick i started using tasm as a cross assembler. Hacked together a parallel data cable to transfer my compiled code to my favourite 8-bitter.
    Good ol' times :-D

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

    Respect to Assembly's developpers

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

      you mean people who write assembly code or people who invented assembly?

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

      @@multiarray2320 both deserve respect tbh

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

      @@lyrapuff7502 exactly

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

      @@lyrapuff7502 thanks for the respect :)

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

      I have tried to learn asm... 32bit...
      WT. Was that...(T-T)

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

    This is amazing! i love assembly. i use it for cheat engine. and on windows for decompiling C++ programs!!

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

      ☝️☝️☝️☝️✍️✍️❣️.

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

    Pure chaos 🤯Up to now, I've been more advanced than my CS courses, but this semester might be a challenge.

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

    One of my favorite languages! Glad to see you guys finally got around to it!

  • @Redcactus5
    @Redcactus5 ปีที่แล้ว +12

    Modern assembly is very different from old assembly, which was basically just a frontend for machine language

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

      This is exactly what I was thinking. Just to to print on a screen we needed 3 or 4 short coded lines... You had to code the mechanics of dividing numbers, etc...

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

    x86 runs on amd too, intel came up with the architecture, but they're not the only ones using it, same with amd64, which was made by amd but intel uses it too

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

    Taking a class for this right now, and I'm in a constant state of pain!

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

    You have an amazing ability to make me pumped, this feels like the next big javascript framework

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

      ☝️☝️☝️☝️✍️✍️❣️

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

    first language ive ever learned (even before english ;))

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

    If you want to start out Assembler, take 68000 - life is so much easier there (compared to x86, or even Z80). 6502 might be similarly simple, since it's basically RISC.

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

      ☝️☝️☝️☝️✍️✍️❣️

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

    Thanks for doing a video on this!

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

    Understanding how assembly works helped me get a better grasp at C and C++.

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

    Now that you've done 100 seconds for most languages, could you possibly try a 5 min projects/1000 seconds series?

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

      Repent and follow Jesus my friend! Repenting doesn't mean confessing your sins to others, but to stop doing them altogether. Belief in Messiah alone is not enough to get you into heaven, you must become a new creation and be born again by responding to the Holy Spirit. - Matthew 7:21-23, Revelation 3:15-16 cf. Hebrews 10:26-29. Pay close attention to your thoughts and how you respond to your inner monologue because it has a greater impact than you think. Call on the name of Jesus and pray for Him to intervene in your life, and do all that you can to follow His ways.

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

    I remember the times when 100 seconds was 1:40 instead of 2:40 😄

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

      I know, I am getting frustrated

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

    ive been waiting for this video. thnx

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

    Never thought you would bring this, but I LOVE assembly language. Even liked this vid with my 4 yt channels haha^^

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

      ☝️☝️☝️☝️✍️✍️❣️.

  • @maverikmiller6746
    @maverikmiller6746 ปีที่แล้ว +17

    Hey, quick question: If I wanted to make my own programming language without using LLVM , does this mean I have to use Assembly language ? (Assembly 86 or Assembly 64) . You know, to create the compiler ?
    Thank you very much.

    • @CyL3Nz
      @CyL3Nz ปีที่แล้ว +13

      You can write your compiler for your programming lanuage in any turing complete language, it doesn't matter. The first C compiler was of course written in assembly, but then with the parts of C that were already compilable, the compiler was rewritten in C eventually (this is called bootstrapping).

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

      You’ll need to learn machine code (to compile your language to it), not an assembler

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

      Yes. If you use LLVM, you are responsible for emitting LLVM IR which resembles a low level programming language. After producing that, you feed it to lc (LLVM's compiler backend) which performs many optimizations and finally outputs assembly for many different architectures.
      If you don't use LLVM, you have to output architecture-specific assembly. It is a great learning opportunity.
      You can also target another high-level language like C if you want.

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

    Right when I thought you ran out of ideas

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

    A hierarchical database in mainframe assembly was one of my school projects back in the day. Great job explaining!

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

    Former communication engineer with what was once the BBC World Service...
    The sender control system at transmitter sites was written in Assembly which controlled banks of microcontrollers which in turn controlled the sender transmission schedule. Even in 2000 that was an arcane system of control.
    That said it was reliable. The software manual which contained all the instructions for the control system was as dense as a doorstep.
    The programmer who designed the code could be found lay belly down on the floor of the sender control system rapidly flipping through the hundreds of pages of instructions from the system manual to try to find bugs. They knew their code structure inside out and back the front.
    An amazing feat given that there was no IDE or such like at the time of it's original development (80's) - simply amazing human memory and knowing instantly every line of code and where it sat in the overall program.
    We don't know we're born these days.

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

    I am a long-time coder whose first commercial products were written in 100% assembly. One of the things in this video that raised my eyebrows is the explanation of what a CPU "register" is. Do modern developers / coders / software engineers (you young things below the age of, say, 30) not understand the basics of CPU structure/organization? Do schools/colleges/universities still teach this, or are we letting our future software developers into the world thinking that a CPU is a magic black box that "just works"?

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

      please keep in mind that a significant portion of viewers who watch these video is self-taught programmer who just want to get things done and in the context of current development toolchain that make a thousand abstract layer between code and bare metal i can see why they need him to explain what a register even is

    • @JohnSmith-xh6zx
      @JohnSmith-xh6zx 2 ปีที่แล้ว +8

      I studied physics.
      It is much more useful to just think of things as stuff that just works. We only wanted our equations to be solved and show us pretty graphs.
      The world is changing and if someone wants to know the lowest level stuff possible, that is great. This skillset is still needed.
      However, things that people expect of newer technology, like video games for example, can't be written 100% in assembly within 3 lifetimes.
      The world needs both kinds of people.

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

      Dude i can understand your concern but, ypu know what there are books in schools and universities where they teach you about things like how data is stored in floppy drives, older computers, older ball mouse. and there exist people who complain that the computer world has become more updated/agile/evolving there ain't so much time to learn about all these useless stuff. so it's up to individual's preference if they want to know about these things in deep or not.

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

      I graduated with a CS degree last year. We had a few subjects related to the CPU architecture (including ALU theory), binary logic and discrete math. And yes, it had very little correlation with the programming we were doing.

    • @RochRich.
      @RochRich. 2 ปีที่แล้ว

      Level 4 (first year) at a UK university here. Can confirm we learned that CPUs do indeed have buses, caches, clocks, etc. in them. Can also confirm that we didn’t go into more detail than that and that the magical things inside of the magical box just work.

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

    You have so many things wrong. You can modify thigs in the .data section, the .rodata section you can't however. Most importantly, sections are not predefined, they are part of the ELF standard. You have many more, such as .rodata and .bss. Also, most importantly, webasm != asm...

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

    Just when I’m starting to learn assembly, Nice.

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

    Its kinda cool that assembly has a section for your data and a section for your logic

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

    I was on the hub
    But this is more important

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

      Ayo wtf man🤨

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

      same

    • @0x5DA
      @0x5DA 2 ปีที่แล้ว

      wait what

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

      @@kiyu3229 Kann mir bitte jemand die Schrotflinte meines Großvaters geben?

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

      @@trein6958 ich bin kartoffel

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

    I notice you had to talk even quicker than usual for Assembly.

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

    great man ... Just have an idea what assembly is and now i can go ahead

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

    writing in ASM is frustrating but awarding at the same time, it makes you analyze and breakdown the problem into small pieces, when your code function as it should be you feel accomplished unlike any other feeling you get from solving errors in a High level language.

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

    Looking at low level languages always blows my mind because of how far we've come.