What Is Assembly Language?

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

КОМЕНТАРІ • 937

  • @paeden5431
    @paeden5431 7 років тому +562

    Indeed, well done Manchester. Love from the USA, stay strong, brothers across the big pond.

    • @jzpatelut
      @jzpatelut 6 років тому +1

      THANKS FOR VIDEO...!!!!! HAY YOU F.......!!!!! ASSEMBLY LANGUAGE IS JUST MNEMONIC CODE OF INSTRUCTIONS..!!! jzpatelut...INDIA...

    • @thdoom81
      @thdoom81 5 років тому +3

      stay strong against what

    • @dodgecoates8760
      @dodgecoates8760 5 років тому +6

      Thulsa Doom en.m.wikipedia.org/wiki/Manchester_Arena_bombing

    • @WolfyRed
      @WolfyRed 4 роки тому +1

      332 likes
      nicxe

    • @WolfyRed
      @WolfyRed 4 роки тому

      @LastName Almaember yessere

  • @juhanakaarlehto7754
    @juhanakaarlehto7754 4 роки тому +1508

    This dude looks exactly like the person I thought would teach me Assembly.

  • @Rtoledo5502
    @Rtoledo5502 3 роки тому +23

    Man!! You sent me back to 1977 when I was doing accounting programs for an Olivetti computer.

    • @javidx9
      @javidx9  3 роки тому +11

      Lol... Could be a new record for "take me back" on this channel!

  • @ucmRich
    @ucmRich 6 років тому +452

    I vote for more Assembly videos and tutorials! if you would please :-)

  • @hommefatale9156
    @hommefatale9156 Рік тому +3

    I have always thought my mind wasn't working right when I sat through 6 hours of lectures and couldn't understand anything but this guy explained this all I needed to understand under 30 minutes. Thank you sir. I knew it when a guy keeps his hair long and has a beard is the proper IT guy to go to. You won't be let down. Thank you again.

  • @ZingsVideos
    @ZingsVideos 5 років тому +82

    Learned assembly language as a teenager when it was essential for making games. It remains as the voice in my head that complains when I write bloated, slow code.

  • @ed505
    @ed505 7 років тому +99

    Your channel is like a gem that I just came across with. This is exactly what I was looking for.

    • @javidx9
      @javidx9  7 років тому +8

      Hey thanks ed505! Hope it's helpful!

    • @ed505
      @ed505 7 років тому +8

      It is extremely helpful. It does clear up a lot of things I couldn't quite understand. Your channel has some great content. I am a new subscriber.

  • @roblastem2905
    @roblastem2905 2 роки тому +14

    Hello! I’m an EE of 15+ years, and I really enjoyed this video. I’ve been using varied versions of assembly to program different types of microcontrollers for a very long time, and it can be a bit of a pain (I recently switched to C full time, because programming USB HID devices in assembly is a nightmare). It’s nice to see someone with such a firm understanding of assembly explain it so well. Keep up the great work, sir!

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

      This stuff used to covered in an A.A.S. of Electronics courses at most community colleges using Trainers (hardware w/CPU,memory,registers,buffers,etc.)

  • @NeilRoy
    @NeilRoy 7 років тому +463

    Back in the day, before optimizing compilers, you had to give some thought on how your program would be converted into machine code. C instructions like ++i were directly converted into a single machine language instruction (in this case, the INC, or increment instruction) which was far faster than say i = i + 1. There were a bunch of tricks you could do to improve your program's speed when you understood the machine language your code would be converted to.
    There is still some optimizing you can do when you understand certain advanced topics on how the CPU operates. Things like the L1 and L2 caches, you can still organize your code to vastly improve speed when you understand how the CPU fetches large groups of instructions into cache (hint: it doesn't just fetch 1 instruction at a time). It's interesting anyhow and I watched some videos on the subject that demonstrated how some simple changes in code ended up in huge improvements in speed just by keeping in mind how the CPU cache works.

    • @javidx9
      @javidx9  7 років тому +157

      Hi Neil, I like that your comments add to the video content, and are useful for others to read, so cheers for that!

    • @Jianju69
      @Jianju69 6 років тому +36

      Can you believe that, due to the presence of modern optimizing compilers, some programmers will openly mock others for using such tricks? I suppose the point is that "a = b * 2" is more "readable" than using "

    • @michellewilliams1090
      @michellewilliams1090 5 років тому +13

      You are a real OG coder

    • @kuhluhOG
      @kuhluhOG 5 років тому +13

      @@Jianju69 I met once a programmer who didn't know how the dual number system worked.
      Me, not even knowing how to program back then, looked it up for FIVE minutes and explained it to him (I am good at maths).
      I suppose, not every programmer likes to dig into how a computer works...

    • @dustinandband
      @dustinandband 5 років тому +3

      Anything you could reference that goes in more depth on this topic (i.e. those videos you mentioned)? Very interesting stuff

  • @Jared-Cruz
    @Jared-Cruz 5 років тому +20

    I'm currently in my 3rd year of studying Computer Engineering at university and I just recently came across your channel a few days ago. Your content is amazing and super interesting. Keep it up!

    • @javidx9
      @javidx9  5 років тому +6

      Hey Cheers Jared, I will! Good luck with your studies!

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

      You finished school? What do you do now?

  • @TrebleWing
    @TrebleWing 5 років тому +14

    Learning 6502 ASM was very rewarding. It is very simple to understand and get things fun working on old systems like the NES and c64

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

      what kind of things did you do with ASM on these consoles?

    • @TrebleWing
      @TrebleWing 4 роки тому

      @@fahimaljahangir3059 My main goal was making music.... Made an album on NES as my first project

  • @raymondmichael4987
    @raymondmichael4987 5 років тому +9

    From Tanzania 🇹🇿, my thanks to you because i like a bit more on that assembly language, I appreciate your effort.
    Greetings from Tanzania 🇹🇿

    • @jzpatelut
      @jzpatelut 5 років тому

      THANKS FOR VIDEO..JITEN PATEL INDIA jzpatelut..

  • @JakobWierzbowski
    @JakobWierzbowski 5 років тому +4

    Dear Mister Barr, you are a great person! The way you explain things is rather poetic from the point of view of a non-native speaker. Thank you for all your hard work in the videos. I love them!

    • @javidx9
      @javidx9  5 років тому +1

      lol hey thanks Jakob!

  • @Garfield_Minecraft
    @Garfield_Minecraft Рік тому +2

    coding in assembly looks fun(and hell at the same time)
    you tell where the data should go and control everything from below
    it's very close to machine language make you look like you can talk with computer
    who made a game in assembly they are so impressive
    respect who code in assembly 🙏

  • @bogulans2897
    @bogulans2897 4 роки тому +4

    Seeing videos like this I cannot believe I can watch this high quality materials provided basically for free. Awesome work sir!

  • @wdestroier
    @wdestroier 4 роки тому +1

    This is the BEST explanation I've seen so far. Nobody explains the details like you

  • @jcpartri
    @jcpartri 5 років тому +8

    I find this very useful. I'm trying to familiarize myself with Assembly on the Raspberry Pi and seeing how Assembly works in general and in a more broad view is very enlightening. Thank you for taking the time to make this. - Many blessings...

    • @javidx9
      @javidx9  5 років тому

      Thank you very much John!

  • @saadraiyan
    @saadraiyan 3 роки тому +2

    Just ran into your this video while learning basics what & how computer and programming works.. and I am glad that i found this vidoe.
    Dude you r awesome, I love your explanation here.
    I hope u make more of these videos where complete beginners like me can learn so much from.
    Thnx a lot man.

  • @nivalius
    @nivalius 6 років тому +149

    no words can describe my admiration for ASM and the people who are fluent in it, but for me it's still a dark magic

    • @javidx9
      @javidx9  6 років тому +35

      HI nivalius, it is indeed strange to those that are new to it, and can be hard work as the code is not verbose. Practice Practice Practice!

    • @AhnafAbdullah
      @AhnafAbdullah 5 років тому +11

      Asm is like making a 10 story building out of 1 cm^3 of cement and stone

    • @NewCurryofthepast
      @NewCurryofthepast 4 роки тому +6

      WAY back in the day people learned how to use punch cards and had to pretty much memorize or at least keep manuals nearby to write machine instructions. Over time it has become easier. Pick your favourite compiled language and a decompiler. Feed it a simple routine. While the syntax looks arcane over time you will understand how the functions translate into instructions. This has been useful for me. godbolt.org

    • @nivalius
      @nivalius 4 роки тому

      @@NewCurryofthepast oh, it's cool, thank you!

    • @MrDragonorp
      @MrDragonorp 4 роки тому +8

      @@AhnafAbdullah that's what fun in it, sometimes I think that asm is, even more, simpler because there are such limited functions, you learn to use the very least of things to do the biggest task, looping, recursion, complex math becomes fun to make because you dont just copy from a library and forget it, you build everything by hand with simple commands and after that higher language become much easier to understand and appreciate.

  • @kasimsche2812
    @kasimsche2812 4 роки тому

    It's your channel that made me feel great for using UA-cam since 2012. Else each and every one is on fly. Many will come many will go, you are the only UA-cam's real soul. Assembly is Love. You made it life for me. Thank you sir.

  • @williamshakespeare2482
    @williamshakespeare2482 7 років тому +9

    Liked and Subscribed!
    Thank you javidx9. What a treasure to stumble upon your channel this evening. It takes me back to my first forays into the world of computing where I learned programming starting with Microsoft Basic on the Ohio Scientific C1P (6502 processor) and moved up to a Commodore 64 and Assembly code for the 6510 processor.
    My neighbor, another school mate, and I used to program copies of our favorite arcade games. It was fun figuring out how to bend the machine to our will and to see how close to the original games we could get our versions of Donkey Kong, Joust, Defender, Q-Bert, and the like. I wish I had stayed with it.
    Better late than never... 38 years later I'm returning to the game. After this jaunt down memory-lane, my path leads onward and upward. Self learning Front-End web development before diving into a Full-Stack Developer back-end program using a mix of resources (teamtreehouse, youtube videos, and books).
    Thanks again for your well produced and easy to follow style of sharing your knowledge and love of coding. You've planted a seed (C++) and with a little watering (and more than a little weed pulling, cobweb dusting, etc.) I can easily see myself being drawn back down the rabbit hole into the magical / mystical world of assembly code.

    • @javidx9
      @javidx9  7 років тому +1

      Hi William, this is excellent news! Thank you for your kind words. The whole point of this channel was to show you don't need much to code fun stuff, and modern PC environments don't make it easy compared to "t good ole days". I guess that's the nice thing about assembly, it's not changed much. There's more interrupts than ever before, and more bespoke instructions, but the rules are the same. The only downside is you can't poke memory as brutally anymore. Wanna turn that pixel red? Not so easy. Embedded systems are probably the most accessible form of assembly now.
      I also find the older games are better as a vehicle for teaching things. Most game dev now is man handling off-the-shelf engines, which whilst fun and productive(?) perhaps requires less "design effort", or focuses the programmer into a specialising in a particular framework. This lessens the need to develop and understand algorithms, a skill I feel is a bit lacking these days.
      Anyway, good luck with your journey into assembly world!

    • @williamshakespeare2482
      @williamshakespeare2482 7 років тому +2

      Instead of going to bed, I've been reading through your blog posts and perusing your videos making note of the one's I wish to spend more time on. Your style of coding, and your lean, no-nonsense approach is a breath of fresh air. Embedded systems are the future and somebody is going to need to know how to program them. Thanks again for your contribution to the future of coding. I see great things happening through your media presence!
      And now... back to your review of WINDLANDS. Virtual Reality sounds like a blast as well. [Edit] "My Poker buddies liked the demo where you headed a football."

    • @javidx9
      @javidx9  7 років тому +1

      Thanks William! Windlands was so good, and so underrated. Just goes to show how fun does not equal looks. I guess that's true of so many things.

  • @mannhansen9337
    @mannhansen9337 4 роки тому

    Excellent tutorial. This is how I learned Motorola 6802 programming in 1979 in college. Later I purchased a KIM-1 with a 6502 CPU. The KIM-1 had 1k of memory. There is a guy on UA-cam with a 6502 project. I will recommend this 6502 project if you want to learn how a computer works and can be built by yourself.

  • @gregandark8571
    @gregandark8571 7 років тому +464

    why you don't write your own book on these stuff ?
    You are awesome!!!

    • @javidx9
      @javidx9  7 років тому +325

      Thanks Gregan! After writing my thesis I vowed I'd never write a book again! But that was some time ago now, so maybe I will... I've been thinking of putting a tutorial video series together for next year though.

    • @yxor
      @yxor 6 років тому +12

      Please do

    • @gregandark8571
      @gregandark8571 6 років тому +8

      Please,good,jewish man.
      Write your book to give us the light inside this grey world !!!

    • @metall7331
      @metall7331 5 років тому +4

      @@javidx9 same here XD

    • @jzpatelut
      @jzpatelut 5 років тому

      WELL DEAR '@@metall7331' THANKS FOR COMMENTS BUT PLEASE SOME ONE TELL ME WHAT IS NEED OF ASSEMBLY LANGUAGE ??? JITENDRA KUMAR Z.PATEL GUJARAT INDIA...EMAIL jzpatel.2011@rediffmail.com OR MOBILE 00-91-9004648715 jzpatelut..

  • @ioannis69k
    @ioannis69k 4 роки тому

    In 1990 Assembly was the basis before learning any other language ! Just love it. Thanks for the video !!!

  • @rodionsabbath9722
    @rodionsabbath9722 5 років тому +3

    You know what ? Thank you for taking your time and making videos, world is a much better place now.

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 роки тому

      My friends, search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life./
      ua-cam.com/play/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-.html

  • @takuramaringire
    @takuramaringire Рік тому +2

    Thank you so much for this absolutely amazing video! I'm watching this 6 years after publishing, but the information is valuable beyond time measurement.

  • @garrusarchangel4562
    @garrusarchangel4562 6 років тому +28

    Thank you for your great video! Your English is perfect. I'm russian and my English level is intermediate, but I understood almost everything... about 80% My like and subscription are yours =)

    • @javidx9
      @javidx9  6 років тому +19

      Hi Garrus, I'm sure your English is better than my Russian! :D Thanks for your support, it is much appreciated!

  • @installtekzdotcom9777
    @installtekzdotcom9777 5 років тому +21

    It's videos like this what makes formal education obsolete :) thanks

    • @FROZENbender
      @FROZENbender 4 роки тому +3

      as much as I like javidx9 and similar channels, there are a good chunk of areas they couldn't explore simply because it is way too much. Stuff like high level algorithmic and computer theory, or a deep dive into distributed database systems. You could probably assemble an equivalent understanding of mathematics from all the great youtube channels but for a good chunk of other stuff you really do need lengthy professional education. Alternatively you could look at literature yourself, at which point it falls into the formal education camp again. I'm sure there are long series of videos on these subjects, but they would be paid courses which again would probably fall under the formal education description.

    • @MrZack1497
      @MrZack1497 4 роки тому +1

      @@FROZENbender Yep I agree. I think stuff like this could be considered an essential augment to formal education, using the term essential loosely. Of course that is recognizing that the original comment was likely intending hyperbole to complement javidx, which I agree completely.

    • @jamesevans2507
      @jamesevans2507 4 роки тому +1

      lmfao @ you if you actually believe that

  • @nikolaus2688
    @nikolaus2688 4 роки тому

    I stopped understanding what was going on around 15 minutes in, but for me that's already a massive increase in knowledge. Thank you.

  • @eso_erica
    @eso_erica 4 роки тому +3

    I didn't want this video to end. Super digestible and interesting.

  • @megapixeler
    @megapixeler 4 роки тому

    I've been a professional programmer for more than 10 years now and until a few minutes ago I had a very vague idea of what assembly language was. Maybe I'll never need to write or read assembly but this fills a knowledge void I always knew i had (in a very general and basic way of course). Thank you!

  • @BoardToBitsGames
    @BoardToBitsGames 5 років тому +4

    This is the best primer on assembly language I have seen. Thanks very much!

    • @javidx9
      @javidx9  5 років тому +1

      Hey I appreciate that buddy, thanks a lot!

  • @caleb5688
    @caleb5688 4 роки тому +1

    I'm a front end developer, this is exactly what I needed. Thanks!

  • @shane9005
    @shane9005 4 роки тому +3

    Great infomation, so happy I just found your channel. Currently in college taking data structures, computer arch, and theory of computation. Never saw the point of learning about computer architecture for programming. Thanks for the info and you got yourself a fan, stay safe and happy programming.

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

    As a returning student learning c++, this was a very easy to understand explanation of assembly. Thank you so much.

  • @scriptingtutorials4060
    @scriptingtutorials4060 6 років тому +19

    AWESOME!! i have seen about 10 asm serries with like 50-100 episodes in each. none of them is as informative as this one video.

    • @javidx9
      @javidx9  6 років тому +2

      Thanks buddy, its not a deep tutorial but certainly makes you aware of what ASM is all about!

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

    I've always been quite intimidated by the looks of assembly language, the way you explained it finally cleared numerous doubts I had on the topic. What a champ you are :)

  • @Milosz_Ostrow
    @Milosz_Ostrow 5 років тому +9

    This reminds me of the time one of the IC designers in the company asked me what a capacitor is. People working with computers in high tech get so involved with abstractions that they lose touch with the physical world.

    • @AhnafAbdullah
      @AhnafAbdullah 5 років тому +6

      Wait... An integrated circuit designer is supposed to know what capacitors are since they make those circuits

    • @kamalmanzukie
      @kamalmanzukie 4 роки тому

      @@AhnafAbdullah yeah, that doesn't make any sense

  • @JacobMarley-r2n
    @JacobMarley-r2n 5 років тому +1

    I just watched this video because I went down the rabbit hole of understanding the Apollo GPC. I wanted to understand some of the code in assembly that has be released to the public domain. I have been in the infrastructure support field (networking, servers, applications etc) for 20 some odd years. I find your way of explaining things relaxing and easy to understand. I plan to watch more and expect it will take me down yet another rabbit hole. thank you

  • @AlexPerez-ek3xp
    @AlexPerez-ek3xp 6 років тому +5

    Visual Studio zoom in = Alt+ mouse scrolling, very informative video thank you.

    • @javidx9
      @javidx9  6 років тому

      Hi Alex, thanks! I use CTRL+Scroll for zooming the source, but I can't zoom the additional windows in the same way. I'll give ALT a try!

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

    My high performance conputing prof used to say: using inlinen assembly for code optimization is an act of utmost despration.
    We used intel intrinsics to optimize scientific computation algorithms to the max on a single core. i think intrinsics are a fantastic tool should the need arise to do manual perf. Optimization on intel x86. Back then (around 6years ago) we outperformed the optimizations the compiler did by quite a margin. Maybe that has changed?
    Your videos are fantastic, i really enjoy them. Thanks a lot!

  • @spiderjuice9874
    @spiderjuice9874 5 років тому +21

    I'm developing my own assembly language for a computer I'm building. Not sure how to implement it all just yet. Wish me luck!

    • @arlenestanton9955
      @arlenestanton9955 4 роки тому

      Spider Juice Ben Eater’s 8-bit computer?

    • @spiderjuice9874
      @spiderjuice9874 4 роки тому

      @@arlenestanton9955 No, but inspired by it - the first one he showed us that is, not the 6502 system he's doing currently. I wanted to use 256 bytes of memory in my version as well as trying to implement my own op-codes. I haven't made much progress - too many other things to do, and I've kept my job so no extra free time for me - but it's there in the spare room, still waiting for me.
      Currently, I've just got a newly-acquired Commodore 128 operational and am keen to play with that. Basically, I'm a procrastinator...

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

      @math Alas, I'm also a procrastinator. Recent global events have shifted priorities about a bit. It's still a project waiting for attention...
      PS 'studied' for a decade or more, on and off. However, just a knowledge of machine code and its underlying microcode, plus some hardware details, is all you need to move forward on this.

  • @MrZack1497
    @MrZack1497 4 роки тому

    I agree with many of the comments. That was very well spoken. I would have benefited seeing this before diving into it in University.

  • @SpencerMckenithWilliams
    @SpencerMckenithWilliams 7 років тому +91

    No hate here. thank you for your contribution

    • @javidx9
      @javidx9  7 років тому +6

      Thanks Spencer!

    • @SpencerMckenithWilliams
      @SpencerMckenithWilliams 7 років тому +6

      Thank you. This has been quite helpful. even as an introduction

    • @akshatghoshal6098
      @akshatghoshal6098 4 роки тому

      @@SpencerMckenithWilliams why did he said he will get hate for saying c#. Isn't c# an excellent language?

    • @SpencerMckenithWilliams
      @SpencerMckenithWilliams 4 роки тому

      @@akshatghoshal6098 it's really personal preference thing. I worked with 14 programming languages using this channel to help with that path. I personally like C, python, PHP, and JavaScript. I know java and c# well enough to know I'll avoid those languages for as long as possible. COBOL is really handy for landing a 64 an hour job helping with stimulus setbacks. I declined because I hate new York and would never set foot back there. It's about personal or financial preferences. Anyone who says otherwise is either an asshole or a fanboy. Learn the pros and cons and go from there

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

    I just happened on to this channel. My only language is a form of BASIC (PS2Yabasic), but it allows me to graphically express every idea I come up with or emulate old ones.

  • @sdsdfdu4437
    @sdsdfdu4437 5 років тому +4

    There's a really fun puzzle game called TIS-100 that has you solve problems using these small simplified processor-like cores and writing assembly-like instructions on them. It's really fun and challenging. There's also Shenzhen IO from the same developer, which is a similar premise but the puzzles have you making circuits out of controller-like devices. Really fun games.

    • @Nob1ej0n
      @Nob1ej0n 5 років тому +1

      I just discovered TIS-100 a month ago. What an absolute gem of a game. I love how it compares your code with other players' without actually showing their code to encourage rethinking and optimization. It sent me down the rabbit hole that led me to this channel. So glad I found both.

  • @tylerlwsmith
    @tylerlwsmith 4 роки тому +1

    This video was super helpful, as I'm also a web developer who hasn't explored assembly. Thank for you for making this!

  • @Mr_Matrix
    @Mr_Matrix 5 років тому +4

    I'm trying to get started with programming again. Assembly language is one of the things I have always wanted to understand better since my teens. 30 years later, this eye-opener comes! 😃👍 Many thanks for this!
    I would also like to thank you for sharing your thoughts on the terrorist attack in Manchester. The same year in Sweden we had the terrorist attack in Stockholm. Here too, the good forces showed their strength afterwards. Meeting hated with hate is never a solution. Unity in diversity works better ❤️

    • @javidx9
      @javidx9  5 років тому +1

      My pleasure Mr Matrix, thanks for your support!

  • @nakternal
    @nakternal 6 років тому +1

    One of the best assembly tutorials on the tube. Explained in easy to comprehend terms and I love the the little piece at the end. Subscribed.

    • @javidx9
      @javidx9  6 років тому

      Thanks nakternal!

  • @matheusmelo6022
    @matheusmelo6022 4 роки тому +8

    I learned Assembly when I was still at high school. Lol.
    It's not that hard, you need a to read a book to learn it. And practice a lot. A good book. Having an amazing teacher that dominates the subject also helps a lot.

    • @_DT_
      @_DT_ 4 роки тому +1

      Which book do you have?

    • @Arien17k
      @Arien17k 4 роки тому

      Do you have a book to recommend? I have the Stallings and for theory is ok, but for exercises and examples I have no clue (and my "professors" would have problems explaining how to cook breakfast... Imagine ARM assembly )

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

    The first computer language I learned was Assembly back in the 80s and I absolutely love it. My favorite compiler is TASM. It is easier to use and debug (line-by-line) than MASM. I still have those original disks but I endlessly backed up the program. I have a MASM disk, but I never use it.

  • @ralphsvensson9523
    @ralphsvensson9523 4 роки тому +9

    Thank you for your vids! Cheers from Sweden :)

  • @MattLozier314
    @MattLozier314 5 років тому +1

    I already knew most of what you had to say in this video, but still found it _terribly_ useful! You're really good at describing complex topics. Keep up the great work!!

    • @javidx9
      @javidx9  5 років тому

      Glad you liked it, cheers Matt!

  • @trueverdicts685
    @trueverdicts685 5 років тому +7

    This video deserves so much more views!

    • @javidx9
      @javidx9  5 років тому +2

      Thanks TrueVerdicts, as longs as those who do watch it, get something from it, I'm happy.

  • @spiderjuice9874
    @spiderjuice9874 6 років тому +1

    I co-learnt 6502 assembly language while learning BASIC way back when. I'm rusty as now but it was good to come across this video, and another of yours on C++. You present your topics very clearly, and I should definitely come in from the cold regarding programming.

    • @javidx9
      @javidx9  6 років тому

      Hey Spider Juice , you and I share something in common then. You must come in and sit by the fire! :D

    • @spiderjuice9874
      @spiderjuice9874 6 років тому

      Would be my pleasure!

  • @thefoolishgmodcube2644
    @thefoolishgmodcube2644 7 років тому +163

    You deserve more views.

    • @javidx9
      @javidx9  7 років тому +16

      Thanks! I'm happy if people just find the content useful.

    • @thefoolishgmodcube2644
      @thefoolishgmodcube2644 7 років тому +3

      I can't believe Pewdiepie is still a thing nowadays, what the hell is wrong with humanity?

    • @thefoolishgmodcube2644
      @thefoolishgmodcube2644 7 років тому +1

      Yeah, I'm pretty sure the internet was meant for higher world wide communications and a better access to knowledge and information, now it's nothing but a toxic place with immature assholes ruining everything.

    • @thefoolishgmodcube2644
      @thefoolishgmodcube2644 7 років тому +1

      It's a shame, can you imagine the much bigger potential the internet could have if we put our brain into it? We could have improved the internet into something better as we go, like turning it into a more advanced library of knowledge, an important piece of technology for the future innovation of mankind, and not an overflow of unfunny memes and hateful people.

    • @ducksoop.x
      @ducksoop.x 6 років тому +8

      I agree with your original post, but I found your comments quite embarrassing to read.

  • @yashesvi-raina
    @yashesvi-raina 4 роки тому +1

    I wish I was your intern/student ! You have crazy teaching skills. I was so frightened by assembly but this video wiped off the scary feeling in me !

  • @sdsdfdu4437
    @sdsdfdu4437 5 років тому +11

    I'd probably separate languages with a runtime (like Java or c#) vs languages with little or no runtime, like c/c++ and rust.

    • @youneskasdi
      @youneskasdi 3 роки тому

      C# is a bit weird i used to think it was the same as Java until i started using it, it can give you about the same control(and headache) as c++ if you dig deep enough while being a high level language at the same time

  • @sharks3010
    @sharks3010 3 роки тому +1

    I know this is somewhat of an old video now but I'd just like to say thank you for showing your support for all of the people affected by the horrific events of the arena bombing. I'm from Liverpool myself and with our two cities being very closely linked, both geographically and culturally, the events that took place are still in our thoughts today. Its amazing and humbling to see the strength and solidarity displayed by everyone affected. Well said, "Well Done Manchester!" ✌

  • @veda-powered
    @veda-powered 6 років тому +17

    2:09 I like Lua too, it was my first programming language.

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

    Thank you javidx9. I watched this video when I was studying at university CS and assembly was of one of subjects. I didn't understand a thing neither from professor nor your video but now I have a strange urge to learn assembly for x86 and ARM and this video is clear as day.

  • @Gordin508
    @Gordin508 6 років тому +1

    This introduction to assembly was very enlightening and reasonably simplified. Thank you very much!

    • @javidx9
      @javidx9  6 років тому

      Thanks Gordin!

  • @kimjongun9915
    @kimjongun9915 6 років тому +109

    If you want to get your head dissembled , this is the language to learn.

    • @bryanl1984
      @bryanl1984 6 років тому +2

      That face.... have some bad kimche Dear Leader's Son's Son?

    • @bryanl1984
      @bryanl1984 5 років тому

      @maverickM249 OPs avatar

    • @bryanl1984
      @bryanl1984 5 років тому +1

      @maverickM249 looks like Kim Jong-un is having some intestinal distress...

    • @anythingeverything2659
      @anythingeverything2659 5 років тому

      Kimchi farts are the WORST.

    • @fortuneolose9424
      @fortuneolose9424 4 роки тому

      I see what you did there

  • @doctortrouserpants1387
    @doctortrouserpants1387 3 роки тому

    I found this fascinating, I first heard about Assembly almost 40 years ago and never got round to finding out how it works, because it was always so mysterious and intimidating. It's really wonderful. Thanks Javidx9 for another illuminating experience!

  • @aryesegal1988
    @aryesegal1988 7 років тому +5

    Awesome review of assembly language, Sir. Appreciate the time you take to share with us. (Can't believe only now I've found your channel. Subbed and liked!)
    In regards to what happened in Manchester, as an Israeli, I know first-hand what feels like when terror hits home.
    May GOD save you all. Keep strong! :)

    • @javidx9
      @javidx9  7 років тому +1

      Thanks Aryesegal! I really appreciate your comments on both matters, and I'm pleased you're enjoying the channel.

  • @ferdinandomirabella1861
    @ferdinandomirabella1861 5 років тому +1

    I like the way you demonstrate, explain and talk. It's quite easy to follow along and so it goes from my RAM to my internal CPU. Result; understood and memorized. Thank you and keep this channel alive with more of that useful content you provide. Best wishes.

  • @stupossibleify
    @stupossibleify 5 років тому +17

    Superb video. I've dabbled in 6502 assembler, but always uncomfortable dabbling in x86. The use of Visual Studio to get a view of how higher level languages translate into x86 is a great suggestion

    • @javidx9
      @javidx9  5 років тому +8

      You can also use a website called godbolt compiler explorer, which will break down code snippets into asm in accordance to that compilers specification. Really interesting. Thanks!

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

    @1:30 on the subject of Language Hierarchy not being black & white. Another one that keeps me up at night is where old version of BASIC like Atari BASIC fits in (I like messing around with this type of unstructured code, trying to figure out how to use a 1d array where other languages have object or structure), which could either be somewhere between Assembly and C because Atari BASIC is unstructured or if you follow the interpreter logic as you mentioned with C# it could arguably sit on the same level as Python or LUA.

  • @domobrah2671
    @domobrah2671 5 років тому +4

    Incredible! I've always wondered how assembly works. Thank you for this explanation! I feel like I'm learning ancient secrets of computing lol

    • @javidx9
      @javidx9  5 років тому +3

      lol Thanks Domo, these ancient secrets are still incredibly important today!

  • @opelman5173
    @opelman5173 4 роки тому +1

    More Assembly videos please. I really like this topic.

  • @brainplot
    @brainplot 6 років тому +4

    Thank you for this awesome explanation. I program in much higher-level programming languages but I thought it could be helpful to know what's going on under the hood. Your video was very helpful.
    P.S. it's quite refreshing to hear a British accent every once in a while, Computer Science is full of american people :D

    • @javidx9
      @javidx9  6 років тому +3

      Hi Gianluca, You're welcome! I'd never really considered my accent before :D

  • @NOPerative
    @NOPerative 4 роки тому

    API = opCode
    development library = architecture manuals
    asm = beauty && power
    Excellent video!
    Really dig the illustrative treatment. :-)

  • @foreverseethe
    @foreverseethe 6 років тому +8

    Aw man, I got lost, you have a good video presence and it-s well paced though. I-ll take a second look later.

    • @javidx9
      @javidx9  6 років тому +9

      Hey dont worry about it! Assembly language can be really confusing to those who have not used or even seen it before. It has a reputation for being tough for a reason!

  • @skf957
    @skf957 3 роки тому

    Watching this 4 years after, but still, well said. And a great assembly language video. Simplified is what I need, thank you.

  • @AmitsLife
    @AmitsLife 3 роки тому +12

    Thank you so much

  • @ongyuxuan6989
    @ongyuxuan6989 3 роки тому +1

    This is such an incredible introduction, appreciate it so much!

  • @codythompson9973
    @codythompson9973 6 років тому +4

    Thank you for this video man. I think it is very helpful.

    • @javidx9
      @javidx9  6 років тому +1

      No problem, Thanks Quarter!

  • @victorolmedos
    @victorolmedos 5 років тому +2

    Great video. Thank you for your efford. Thank you also for sharing your point of view about Manchester. Time has passed now, but if more of us could share that mind set, the world would be so much better.

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 роки тому

      My friends, search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life./
      ua-cam.com/play/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-.html

  • @Artaxerxes.
    @Artaxerxes. 5 років тому +12

    I think its great. You'll never understand computers unless you learn assembly language

  • @AliHassan-vd6zj
    @AliHassan-vd6zj 5 років тому

    Keep it up mate. People like you is the only reason i like using youtube really knowledge that you dont get even in classes

  • @50_Pence
    @50_Pence 7 років тому +4

    great tutorial!

  • @WisdomofHal
    @WisdomofHal 5 років тому +2

    You’re a saint brother. Love your work. I must say though, your camera work at 7:15 oddly reminded me of spending time with my grandparents and being forced to watch old 80s documentaries.

  • @chriswinslow
    @chriswinslow 6 років тому +12

    I would like to learn more about embedded systems. I want to create a system that can open a security door whenever a person swipes a card trough a card reader or type in a number code on a number pad and look the card details up on a remote MySQL database and then perform whatever mechanical operations to unlock the door. I'd use a "Raspberry pi Zero w" and create a bare metal boot system using ASM. I'll add inspired by javidx9 in the comments code somewhere lol. Many many thanks mate and a very nice message at the end.

    • @javidx9
      @javidx9  6 років тому +4

      Thanks Chris, the easiest way to learn about embedded systems is just to do it - Lots of people go with arduinos, but personally I prefer mBed LPC1768s.

  • @Willifordwav
    @Willifordwav 3 роки тому

    You’re officially my new favorite programming channel

  • @RingZero
    @RingZero 5 років тому +4

    I have been creating utilities in Assembler since early 90’s.... still use it. That’s all I know 😉

    • @Lu-ql5tj
      @Lu-ql5tj 4 роки тому

      Then why do you call it assembler? Assembler is the compiler. You don't call C, GCC.

    • @RingZero
      @RingZero 4 роки тому

      Luís Carlos : what would you like to call it?

    • @Lu-ql5tj
      @Lu-ql5tj 4 роки тому

      @@RingZero Assembly!

    • @RingZero
      @RingZero 4 роки тому

      Luís Carlos : Appreciate you correcting me 🙏🏽

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 4 роки тому

    Assembly Language was first language I learned. Nice to see that someone still learning it.

  • @AmitVerma-rc1ex
    @AmitVerma-rc1ex 5 років тому +4

    hi there, I have created an operating system entirely based on assembly language and it also has a basic language interpreter built it , now I want to develop network components for that thing , please make a video on network sockets if you can , thank you for your precious contribution and I loved the idea of creating a virtual machine from scratch

    • @WisdomofHal
      @WisdomofHal 5 років тому

      Amit Verma you built an operating system...................? What’s your contact

    • @AmitVerma-rc1ex
      @AmitVerma-rc1ex 5 років тому

      @@WisdomofHalajtg1234@gmail.com, I am after swarm algorithms for drones and developed the same to use as a base interface instead of any 3rd party vm. Moreover, it is currently available for arm cortex m7 and x86 architecture, and do have a lot to do, especially linking multiple imu units together to make a coordinated system workflow

    • @WisdomofHal
      @WisdomofHal 5 років тому

      Amit Verma is it on github?

    • @AmitVerma-rc1ex
      @AmitVerma-rc1ex 5 років тому +1

      @@WisdomofHal nope, will deploy it on git after getting it properly completed with multiple imu control and algorithms for swarm formations , moreover thank you for showing interest and, I will make a demonstration video to show the practical usage and performance.

    • @WisdomofHal
      @WisdomofHal 5 років тому

      Amit Verma Gladly will show interest in such a feat. Will love to tinker with this

  • @somaar3186
    @somaar3186 3 роки тому

    Thank you for the video! I liked the pacing and the thought out illustrations and examples. Combined with your voice and way of speech makes the content interesting throughout the video.
    Looking forward to watch more.

  • @chroniclesofbap6170
    @chroniclesofbap6170 5 років тому +3

    The registers in a Scouse processor are:
    RA
    RA
    CALM DOWN

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

    I think it's important to point out that assembly is actually a psudo language for machine language which is just a bunch of zeros and ones. While I doubt that people are still using machine code, at least with consumer computers (desk top, laptop), there are probably some uses for machine language in processing systems used in microwaves, washing machines and other devices using PLA's and other primitive control systems.
    Enjoyed the refresher, haven't thought about assembly in many many years. Found your channel recently, great stuff!!

  • @rty1955
    @rty1955 5 років тому +25

    I have been writing in assembly for over 50 yrs. I have done things in that language that C programmers can't even dream of!
    I used core dumps as my "debugger" when I began there was only a handful of programming languages (COBOL, RPG, PL/1, FORTRAN, etc)
    I have taught many many COBOL programmers to actually read a core dump as well.
    Other languages are way to constrictive to me. I still write assembly on micro controllers now as C wasted too much memory.
    One of my best teachers was a mainframe. Even in assembly language you could never make it hang up, or crash, only your app crashes and the mainframe was a master at cleaning up your mess. PCs are just brain dead!
    This guys example of multiply 10x3 is way to slow and inefficient. He is using the ALU way too many times. Thus making it slow. He is in his loop 3 times. In his code he must be in that loop and use the ALU every time they the loop. What if the example was 10x128??? He would be in the loop 128 times!! If you think hard, it can be done a max of 8 times in the loop and use the ALU only once! This is how assembler programmers think. I taught assembly Lang course in major NY college as well.
    My advice is to get a reference manual for the CPU being coded for. Totally understand the memory layout as well. Once you understand that, learn how the assembler and linker works.
    Assembler can use macros too!
    An assembler produces object code, the linker combines all the object code from various other assembles, and also combines static library modules which are also object code, then outputs a fully executable binary file.
    This guy is giving a very high level
    overview of how to use assembly language.
    Remember the difference between assembler and a compiler is that the assembly language is one to one source statment to executable statement as opposed to a compiler generates many many executable statements per each line of source code.
    I have written an entire accounting system (A/P, A/R, G/L, PAYROLL) on a machine with 32k, yes Kilobytes of memory. C or any other language wouldn't get past initialization w/o crashing. I accomplished this because I knew the o/s and assembly VERY well.
    One mainframe I worked on had 8 MB of memory and it could sustain hundreds of users simultaneously while still doing batch work. One may ask: "how is that possible?" That was not magic, that was great assembly coding.

    • @areg7182
      @areg7182 4 роки тому +9

      "C wasted too much memory" haha tell that to javascript programmers they'll think you're insane

    • @rty1955
      @rty1955 4 роки тому +3

      @@areg7182 well I dont consider java to be a real language as its interpretive like BASIC was. C compiles to real op codes but drags so much garbage with it

    • @areg7182
      @areg7182 4 роки тому +1

      for all intents and purposes Java is a "real" language, and it's not (directly) interpreted. Javascript is also mos often compiled to a bytecode, and then JIT compiled to native machine code. It can be quite fast, but its hella inefficient. As for C computers have gotten so powerful nowadaus that its very uncommon to say "C drags garbage with it", but I guess a few months of coding in pure assembly would make me say that as well haha. Although modern compilers are pretty good at optimizing programs, have you tried them?

    • @bogdandumitrescu8987
      @bogdandumitrescu8987 4 роки тому

      Could you make a similar video for the most efficient code ? Or recommend a different source for better ASM coding ? (Book, video, tutorial, article) ?

    • @rty1955
      @rty1955 4 роки тому +1

      @@areg7182 I use C for programs I dont care about efficiency. And C does drag bloat with it. Try and write the simple hello world program and see what the executable size is. Now we know the text size is only 12 characters ("Hello world!" x00) So all u need to do is load a register with the addr of the string, load a register with the o/s call to display txt on a screen (o/s specific) the call the o/s (usually by an interrupt of something, then exit. So maybe a handful if bytes for the code lets say 40-50 bytes in a 64 bit machine. So in total you have a simple program that is 64 bytes. Why does C need 4k to do it?? U need to ask questions. When I coded on mainframes thaT had 48k, yes, 48k of memory, you better know where every byte was doing. You as the programmer need to be in full control of your app.
      So in my example when C requires 4k and i can do it in 64 bytes. A person can fit MORE real code, that does more work than a C program does. When i write for micro processors where memory is limited, I try to write very compact, modular code. I never use C. As u have limited resources and C wastes way too much space.
      The downside of assembly is that you must know each processor intimately, that yoy are working with.
      I never let compilers choose which is best. Im the programmer and I better know what is best for each application. A compiler may optimize for a each processor, but when u code im assembly you should know that processor inside and out

  • @0x44Monad
    @0x44Monad 3 роки тому +2

    Amazing video, thank you. It would be nice to see that virtual machine in assembly videoseries!

    • @javidx9
      @javidx9  3 роки тому +1

      Thanks, I kinda did with the NES emulator series, which wouldn't be a bad starting place about the subject, especially episode 2.

    • @0x44Monad
      @0x44Monad 3 роки тому

      @@javidx9 awesome! I’ll take a look. Was hoping to find something similar to JVM to understand bytecode VM as an interstitial layer between a language/interpreter and a OS. I’d be happy to sponsor a series on this. Also any chance you do mentor ship/instruction? Gladly pay for some guidance. Thanks.

  • @jakobfischer9985
    @jakobfischer9985 6 років тому +3

    Great video & explanation. I have a question though, sorry if it's a dumb one. At 18:48 you say that to multiply 10 and 3, the register XMM0 gets multiplied with itself and with b=3. Before, you showed how in XMM0 both 10 and three are stored at XMM00. So is it possible to store multiple values at XMM00 ? If so, how does the program know to multiply both values? Why does it know not multiply XMM0 * XMM0 as 10 * 10 , and then * 3? Sorry if that was confusing but I hope my point got accross. I appreciate any answers.

    • @javidx9
      @javidx9  6 років тому +2

      Hi and thanks Jakob, yup, a little verbal slip up there! effectively what is happening is XMM0 = a; then XMM0 = XMM0 * b; The first argument is the target register for the result of the calculation.

    • @jakobfischer9985
      @jakobfischer9985 6 років тому

      @@javidx9 Ooh I see, that clears it up. Thank you very much for the quick response!

    • @mr_ahron
      @mr_ahron 5 років тому

      Is look like that the this Architecture have more command set (If I'm not wrong all the modern CPU's have more than 100 commands types).
      The CPU use in this register to copy the first number [a] in the first command. ({CMD} vmovss {detestation reg} xmm00, {from memory location} dword ptr [a])
      In the second command the CPU multipale the register xmm00 with [b] and put the result in register xmm00. ({CMD} vmulss {result to detestation reg} xmm00, {first multiple argument from reg} xmm00, {second multiple argument from memory location} dword ptr [b])
      in the third command the CPU copy the result from the register to the memory location [c]. ({CMD} vmovss {detestation memory} dword ptr [c], {from reg} xmm00)

  • @heltongomes526
    @heltongomes526 5 місяців тому

    Incredible video. Please make more videos about this language, please!

  • @amnest1ac
    @amnest1ac 5 років тому +5

    Hey, I am a little late to the party. You are awesome! Please make a video lectures on ASM. Also, it would be interesting to learn why do we need different types of compilers and linkers on varying OS! :P

  • @markharrisllb
    @markharrisllb 3 роки тому

    I watched the video because of the 'I ❤️ MCR' sticker on your equipment. I thought the content would be well above my understanding of language as I’m a boomer who is a newbie to the terminal in Ubuntu and learning Arduino. You explained things so clearly I followed the video all the way through.
    I'm a very proud Lancastrian where Manchester was situated for over the first decade of my life. Many Mancunians still see themselves as Lancastrians and those in Greater Manchester certainly do. I think you’ve got to live in Lancashire to understand our mentality and definitely to understand our humour. We are a tough breed from the mill towns of Blackburn, Burnley, Oldham etc, to the mining towns like Wigan, the fishermen of Fleetwood and the harsh sheep farming areas that are now part on Cumbria. Manchester was our Jewel and centre of commerce, which it still is. What happened in Manchester in 2017 was vile, like the bombing of the Arndale Centre was. We saw Manchester weep and we wept with the city, as we have done with Liverpool. We knew Manchester would brush itself off and carry on. Not in denial of those 23 souls, many of whom were children, but to commemorate them the only way we know how. To stand up and be proud because no matter how hard you knock us down we'll get back up. This small county I was born into, whose duke has shown her steel in her 90s, doesn’t stay down for anyone. R.I.P. all who lost their lives that day.
    🌹 🌹 🌹

  • @jerichoblt974
    @jerichoblt974 4 роки тому +57

    12:03 "zero = 1"
    ALL OF REALITY IS A LIE!!!

    • @mparagames
      @mparagames 4 роки тому +3

      It's because "1" means "true", and "zero" means the condition where the value of the previous operation equals 0.
      If this condition is true, then "zero" = 1
      Also, you can r/whoooosh me now.

    • @mparagames
      @mparagames 4 роки тому +1

      @steve gale Many higher-level programming languages use "true" as a value, as far as I know.
      In Javascript at least, the condition "(true == 1)" returns true. The condition "(false == 0)" also returns true. However the conditions "(1 === true)" and "(0 === false)" both return false.

    • @mparagames
      @mparagames 4 роки тому

      @steve gale Yeah, but languages like javascript can (somehow) compare two different types of value and still be able to return "true" at times, hence the condition "(0 == false)" returning "true"
      (javascript returns a boolean value when evaluating conditions).
      Also, the example there was pseudocode so he could have written something else to explain the same thing, if he wanted.

    • @mparagames
      @mparagames 4 роки тому

      @steve gale I think that's why they introcuced the "===" operator, which compares not only the values themselves but also the type of the value of each one of them.

    • @mparagames
      @mparagames 4 роки тому

      @steve gale OK...

  • @tukangbobo
    @tukangbobo 4 роки тому

    Finally after 20 year I can taste a little bit of understanding of assembly language. Really want to understand on that time, but reading book only make me more confuse.

  • @gliderspace
    @gliderspace 4 роки тому +15

    "I like Lua"
    No shit, Lua is beautiful. If Lua was a girl I would marry it

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

      LOL

    • @Keaza.
      @Keaza. 4 роки тому +1

      Correct, I learned LUA from an old game called Tibia, it was and is so beautiful

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

    damn man... you remind me the college years, where i had to work with assembly on MIPS and ARM architectures!