What Is Assembly Language?

  Рет қаралды 457,902

javidx9

javidx9

Күн бұрын

Пікірлер: 944
@paeden5431
@paeden5431 7 жыл бұрын
Indeed, well done Manchester. Love from the USA, stay strong, brothers across the big pond.
@jzpatelut
@jzpatelut 6 жыл бұрын
THANKS FOR VIDEO...!!!!! HAY YOU F.......!!!!! ASSEMBLY LANGUAGE IS JUST MNEMONIC CODE OF INSTRUCTIONS..!!! jzpatelut...INDIA...
@thdoom81
@thdoom81 5 жыл бұрын
stay strong against what
@dodgecoates8760
@dodgecoates8760 5 жыл бұрын
Thulsa Doom en.m.wikipedia.org/wiki/Manchester_Arena_bombing
@WolfyRed
@WolfyRed 4 жыл бұрын
332 likes nicxe
@WolfyRed
@WolfyRed 4 жыл бұрын
@LastName Almaember yessere
@juhanakaarlehto7754
@juhanakaarlehto7754 4 жыл бұрын
This dude looks exactly like the person I thought would teach me Assembly.
@mparagames
@mparagames 4 жыл бұрын
LOL
@kasimsche2812
@kasimsche2812 4 жыл бұрын
Same here ..... this is the only guy...
@talaverajr391
@talaverajr391 4 жыл бұрын
He is ASSEMBLY!
@dtwotimes10
@dtwotimes10 4 жыл бұрын
So true
@PeachiiWubs
@PeachiiWubs 4 жыл бұрын
He even sounds the part
@Rtoledo5502
@Rtoledo5502 3 жыл бұрын
Man!! You sent me back to 1977 when I was doing accounting programs for an Olivetti computer.
@javidx9
@javidx9 3 жыл бұрын
Lol... Could be a new record for "take me back" on this channel!
@ed505
@ed505 7 жыл бұрын
Your channel is like a gem that I just came across with. This is exactly what I was looking for.
@javidx9
@javidx9 7 жыл бұрын
Hey thanks ed505! Hope it's helpful!
@ed505
@ed505 7 жыл бұрын
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.
@tamimayan2028
@tamimayan2028 27 күн бұрын
​@@javidx9does assembly language allow you to do things you can’t in a higher level language?if yes, what is that
@javidx9
@javidx9 27 күн бұрын
@@tamimayan2028 kind of, it allows you to do low level memory manipulation and register handling directly. Higher level languages by definition are abstractions, so they take some of that flexibility away at the cost of simplicity.
@tamimayan2028
@tamimayan2028 27 күн бұрын
@@javidx9 so if i learn assembly language,i can programing more effective tool right And could u give me some source for assembly language like books
@roblastem2905
@roblastem2905 2 жыл бұрын
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.)
@ucmRich
@ucmRich 6 жыл бұрын
I vote for more Assembly videos and tutorials! if you would please :-)
@Pridetoons
@Pridetoons 5 жыл бұрын
Yes Please!
@davidnkem9425
@davidnkem9425 5 жыл бұрын
Yup
@muhammadzamzam9915
@muhammadzamzam9915 5 жыл бұрын
No
@hldelta
@hldelta 4 жыл бұрын
MIPS!
@hommefatale9156
@hommefatale9156 Жыл бұрын
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.
@Jared-Cruz
@Jared-Cruz 5 жыл бұрын
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 жыл бұрын
Hey Cheers Jared, I will! Good luck with your studies!
@howardalien2720
@howardalien2720 Жыл бұрын
You finished school? What do you do now?
@NeilRoy
@NeilRoy 7 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
You are a real OG coder
@kuhluhOG
@kuhluhOG 5 жыл бұрын
@@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 жыл бұрын
Anything you could reference that goes in more depth on this topic (i.e. those videos you mentioned)? Very interesting stuff
@ZingsVideos
@ZingsVideos 5 жыл бұрын
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.
@JakobWierzbowski
@JakobWierzbowski 5 жыл бұрын
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 жыл бұрын
lol hey thanks Jakob!
@wdestroier
@wdestroier 4 жыл бұрын
This is the BEST explanation I've seen so far. Nobody explains the details like you
@raymondmichael4987
@raymondmichael4987 5 жыл бұрын
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..
@gregandark8571
@gregandark8571 7 жыл бұрын
why you don't write your own book on these stuff ? You are awesome!!!
@javidx9
@javidx9 7 жыл бұрын
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 жыл бұрын
Please do
@gregandark8571
@gregandark8571 6 жыл бұрын
Please,good,jewish man. Write your book to give us the light inside this grey world !!!
@metall7331
@metall7331 6 жыл бұрын
@@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..
@bogulans2897
@bogulans2897 4 жыл бұрын
Seeing videos like this I cannot believe I can watch this high quality materials provided basically for free. Awesome work sir!
@stickfigure31
@stickfigure31 Жыл бұрын
@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.
@thefoolishgmodcube2644
@thefoolishgmodcube2644 7 жыл бұрын
You deserve more views.
@javidx9
@javidx9 7 жыл бұрын
Thanks! I'm happy if people just find the content useful.
@thefoolishgmodcube2644
@thefoolishgmodcube2644 7 жыл бұрын
I can't believe Pewdiepie is still a thing nowadays, what the hell is wrong with humanity?
@thefoolishgmodcube2644
@thefoolishgmodcube2644 7 жыл бұрын
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 жыл бұрын
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 жыл бұрын
I agree with your original post, but I found your comments quite embarrassing to read.
@saadraiyan
@saadraiyan 3 жыл бұрын
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.
@eso_erica
@eso_erica 4 жыл бұрын
I didn't want this video to end. Super digestible and interesting.
@kasimsche2812
@kasimsche2812 4 жыл бұрын
It's your channel that made me feel great for using KZbin since 2012. Else each and every one is on fly. Many will come many will go, you are the only KZbin's real soul. Assembly is Love. You made it life for me. Thank you sir.
@TrebleWing
@TrebleWing 5 жыл бұрын
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 жыл бұрын
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
@Garfield_Minecraft
@Garfield_Minecraft Жыл бұрын
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 🙏
@williamshakespeare2482
@williamshakespeare2482 7 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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.
@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.
@SpencerMckenithWilliams
@SpencerMckenithWilliams 7 жыл бұрын
No hate here. thank you for your contribution
@javidx9
@javidx9 7 жыл бұрын
Thanks Spencer!
@SpencerMckenithWilliams
@SpencerMckenithWilliams 7 жыл бұрын
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
@nakternal
@nakternal 6 жыл бұрын
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!
@trueverdicts685
@trueverdicts685 6 жыл бұрын
This video deserves so much more views!
@javidx9
@javidx9 6 жыл бұрын
Thanks TrueVerdicts, as longs as those who do watch it, get something from it, I'm happy.
@jcpartri
@jcpartri 5 жыл бұрын
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!
@rodionsabbath9722
@rodionsabbath9722 5 жыл бұрын
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./ kzbin.info/aero/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-
@pablodavidgaytanrodriguez4829
@pablodavidgaytanrodriguez4829 4 жыл бұрын
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 :)
@garrusarchangel4562
@garrusarchangel4562 6 жыл бұрын
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 жыл бұрын
Hi Garrus, I'm sure your English is better than my Russian! :D Thanks for your support, it is much appreciated!
@TheClearsky88
@TheClearsky88 4 жыл бұрын
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!
@scriptingtutorials4060
@scriptingtutorials4060 6 жыл бұрын
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 жыл бұрын
Thanks buddy, its not a deep tutorial but certainly makes you aware of what ASM is all about!
@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!
@shane9005
@shane9005 4 жыл бұрын
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.
@takuramaringire
@takuramaringire Жыл бұрын
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.
@BoardToBitsGames
@BoardToBitsGames 6 жыл бұрын
This is the best primer on assembly language I have seen. Thanks very much!
@javidx9
@javidx9 6 жыл бұрын
Hey I appreciate that buddy, thanks a lot!
@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 KZbin 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.
@installtekzdotcom9777
@installtekzdotcom9777 5 жыл бұрын
It's videos like this what makes formal education obsolete :) thanks
@FROZENbender
@FROZENbender 4 жыл бұрын
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 жыл бұрын
@@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 жыл бұрын
lmfao @ you if you actually believe that
@caleb5688
@caleb5688 4 жыл бұрын
I'm a front end developer, this is exactly what I needed. Thanks!
@nivalius
@nivalius 7 жыл бұрын
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 7 жыл бұрын
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 жыл бұрын
Asm is like making a 10 story building out of 1 cm^3 of cement and stone
@NewCurryofthepast
@NewCurryofthepast 4 жыл бұрын
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 жыл бұрын
@@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.
@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.
@Milosz_Ostrow
@Milosz_Ostrow 5 жыл бұрын
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 жыл бұрын
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
@ioannis69k
@ioannis69k 4 жыл бұрын
In 1990 Assembly was the basis before learning any other language ! Just love it. Thanks for the video !!!
@Mr_Matrix
@Mr_Matrix 6 жыл бұрын
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 жыл бұрын
My pleasure Mr Matrix, thanks for your support!
@iamtheteapot7405
@iamtheteapot7405 Жыл бұрын
As a returning student learning c++, this was a very easy to understand explanation of assembly. Thank you so much.
@sdsdfdu4437
@sdsdfdu4437 5 жыл бұрын
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 жыл бұрын
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.
@AlexPerez-ek3xp
@AlexPerez-ek3xp 7 жыл бұрын
Visual Studio zoom in = Alt+ mouse scrolling, very informative video thank you.
@javidx9
@javidx9 7 жыл бұрын
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!
@MattLozier314
@MattLozier314 5 жыл бұрын
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!
@matheusmelo6022
@matheusmelo6022 4 жыл бұрын
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 жыл бұрын
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 )
@Willifordwav
@Willifordwav 3 жыл бұрын
You’re officially my new favorite programming channel
@aryesegal1988
@aryesegal1988 7 жыл бұрын
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 жыл бұрын
Thanks Aryesegal! I really appreciate your comments on both matters, and I'm pleased you're enjoying the channel.
@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
@ralphsvensson9523
@ralphsvensson9523 4 жыл бұрын
Thank you for your vids! Cheers from Sweden :)
@gosnooky
@gosnooky 5 жыл бұрын
Best computer science channel on the KZbins by a mile.
@kimjongun9915
@kimjongun9915 6 жыл бұрын
If you want to get your head dissembled , this is the language to learn.
@bryanl1984
@bryanl1984 6 жыл бұрын
That face.... have some bad kimche Dear Leader's Son's Son?
@bryanl1984
@bryanl1984 6 жыл бұрын
@maverickM249 OPs avatar
@bryanl1984
@bryanl1984 6 жыл бұрын
@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
@WisdomofHal
@WisdomofHal 5 жыл бұрын
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.
@stupossibleify
@stupossibleify 5 жыл бұрын
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 жыл бұрын
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!
@JacobMarley-r2n
@JacobMarley-r2n 5 жыл бұрын
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
@spiderjuice9874
@spiderjuice9874 5 жыл бұрын
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 жыл бұрын
@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.
@sharks3010
@sharks3010 3 жыл бұрын
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!" ✌
@brainplot
@brainplot 6 жыл бұрын
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 жыл бұрын
Hi Gianluca, You're welcome! I'd never really considered my accent before :D
@yashesvi-raina
@yashesvi-raina 4 жыл бұрын
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 !
@domobrah2671
@domobrah2671 6 жыл бұрын
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 6 жыл бұрын
lol Thanks Domo, these ancient secrets are still incredibly important today!
@tylerlwsmith
@tylerlwsmith 5 жыл бұрын
This video was super helpful, as I'm also a web developer who hasn't explored assembly. Thank for you for making this!
@sdsdfdu4437
@sdsdfdu4437 5 жыл бұрын
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 4 жыл бұрын
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
@spiderjuice9874
@spiderjuice9874 6 жыл бұрын
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!
@veda-powered
@veda-powered 6 жыл бұрын
2:09 I like Lua too, it was my first programming language.
@javidx9
@javidx9 6 жыл бұрын
Good Stuff!
@thefoolishgmodcube2644
@thefoolishgmodcube2644 6 жыл бұрын
Same
@darkstorminc
@darkstorminc 4 жыл бұрын
Mine was C
@NOPerative
@NOPerative 4 жыл бұрын
API = opCode development library = architecture manuals asm = beauty && power Excellent video! Really dig the illustrative treatment. :-)
@Artaxerxes.
@Artaxerxes. 5 жыл бұрын
I think its great. You'll never understand computers unless you learn assembly language
@ferdinandomirabella1861
@ferdinandomirabella1861 5 жыл бұрын
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.
@AmitsLife
@AmitsLife 3 жыл бұрын
Thank you so much
@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!
@foreverseethe
@foreverseethe 6 жыл бұрын
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 жыл бұрын
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!
@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!!
@codythompson9973
@codythompson9973 7 жыл бұрын
Thank you for this video man. I think it is very helpful.
@javidx9
@javidx9 7 жыл бұрын
No problem, Thanks Quarter!
@ongyuxuan6989
@ongyuxuan6989 3 жыл бұрын
This is such an incredible introduction, appreciate it so much!
@jerichoblt974
@jerichoblt974 4 жыл бұрын
12:03 "zero = 1" ALL OF REALITY IS A LIE!!!
@mparagames
@mparagames 4 жыл бұрын
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 жыл бұрын
@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...
@kamertonaudiophileplayer847
@kamertonaudiophileplayer847 4 жыл бұрын
Assembly Language was first language I learned. Nice to see that someone still learning it.
@AmitVerma-rc1ex
@AmitVerma-rc1ex 5 жыл бұрын
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 жыл бұрын
@@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
@0x44Monad
@0x44Monad 3 жыл бұрын
Amazing video, thank you. It would be nice to see that virtual machine in assembly videoseries!
@javidx9
@javidx9 3 жыл бұрын
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.
@amnest1ac
@amnest1ac 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
@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.
@rty1955
@rty1955 5 жыл бұрын
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 жыл бұрын
"C wasted too much memory" haha tell that to javascript programmers they'll think you're insane
@rty1955
@rty1955 4 жыл бұрын
@@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 жыл бұрын
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 жыл бұрын
@@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
@opelman5173
@opelman5173 4 жыл бұрын
More Assembly videos please. I really like this topic.
@chriswinslow
@chriswinslow 6 жыл бұрын
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 жыл бұрын
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.
@gianz73
@gianz73 4 жыл бұрын
Thanks for the great explanation, mate! It has revived my fascination for this subject. Back in my teen years (in the eighties) I grew up with 1st gen consoles, Commodore 64 and then Amiga 500 and was so in love with the subject, I wanted to become an electronic engineer. But my grades in math were bad (thanks teachers!) so I took a very different path: foreign languages (English/German) and literature. Accidents and experiences came that took me - with a huge lot of zigzagging - to were I am, but that old love for bits and chips is still there, wanting to finally be taken more seriously. Your channel seems a very good (re)starting point!
@RingZero
@RingZero 5 жыл бұрын
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 🙏🏽
@lyrics2703
@lyrics2703 3 жыл бұрын
when i listening to you i feel relaxed, really, love from Turkey
@50_Pence
@50_Pence 7 жыл бұрын
great tutorial!
@footballCartoon91
@footballCartoon91 4 жыл бұрын
@15:10 Finally I understand the need of pointer after studying this video.. You can see the purpose of pointer variable in this simple program.. int a= 10; //Since in the assembly it says DWORD ptr[a] means there is a pointer that stores the address of "a" variable which contains 10. To call " a" c++ needs to call that DWORD PTR[a] which stores the address of "a" and this is because the program counter inside the cpu will read the RAM automatically one address at a time. So, a pointer is basically the same as "jump to" to speed up the process of obtaining the variable value.
@jakobfischer9985
@jakobfischer9985 6 жыл бұрын
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 жыл бұрын
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 6 жыл бұрын
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)
@FaisalR
@FaisalR 5 жыл бұрын
One of best KZbin channel about programming i ever subscribed along with coding train
@javidx9
@javidx9 5 жыл бұрын
Hey thanks Faisal, very kind of you to say so!
@FaisalR
@FaisalR 5 жыл бұрын
@@javidx9 i hope in a next video you can use another language as Java or C#
@chroniclesofbap6170
@chroniclesofbap6170 5 жыл бұрын
The registers in a Scouse processor are: RA RA CALM DOWN
@antoinetoussaint483
@antoinetoussaint483 4 жыл бұрын
Old stuff already but so usefull. Having a quick view over what is assembly language helps so much to understand what a computer is. Thanks, nice vid :)
@gliderspace
@gliderspace 4 жыл бұрын
"I like Lua" No shit, Lua is beautiful. If Lua was a girl I would marry it
@mparagames
@mparagames 4 жыл бұрын
LOL
@Keaza.
@Keaza. 4 жыл бұрын
Correct, I learned LUA from an old game called Tibia, it was and is so beautiful
@heltongomes526
@heltongomes526 6 ай бұрын
Incredible video. Please make more videos about this language, please!
@cheesegreater5739
@cheesegreater5739 3 жыл бұрын
Ew, assembly is just way too high level for my tastes and standards. I like moving electrons by hand, like a real programmer. I like being able to have that low-level control, you know?
@terencelee6492
@terencelee6492 2 жыл бұрын
I never succeed to write a program in assembly, because that requires a lot more practice to understand the rules and addressing of different components. Yes, the best way to learn it is to have more exercises and practice. The video gives a good start to those who want to know more about assembly language.
@ItzSkullii
@ItzSkullii 4 жыл бұрын
I turn this on when I’m trying to sleep
Programming Logitech Keyboard to Display Twitch Chat
30:30
javidx9
Рет қаралды 26 М.
What Are Pointers? (C++)
41:55
javidx9
Рет қаралды 565 М.
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
x86 Assembly Crash Course
10:45
HackUCF
Рет қаралды 852 М.
“Hello, world” from scratch on a 6502 - Part 1
27:25
Ben Eater
Рет қаралды 4,9 МЛН
Dithering with Floyd-Steinberg in C++
26:53
javidx9
Рет қаралды 55 М.
Intro to x86 Assembly Language (Part 1)
11:36
Davy Wybiral
Рет қаралды 716 М.
Back To Basics! Fixed Point Numbers in C++
31:24
javidx9
Рет қаралды 62 М.
Code-It-Yourself! First Person Shooter (Quick and Simple C++)
38:56
Game Physics (in Assembler) - Computerphile
19:24
Computerphile
Рет қаралды 713 М.