This dude looks exactly like the person I thought would teach me Assembly.
@mparagames4 жыл бұрын
LOL
@kasimsche28124 жыл бұрын
Same here ..... this is the only guy...
@talaverajr3914 жыл бұрын
He is ASSEMBLY!
@dtwotimes104 жыл бұрын
So true
@PeachiiWubs4 жыл бұрын
He even sounds the part
@ucmRich6 жыл бұрын
I vote for more Assembly videos and tutorials! if you would please :-)
@Pridetoons5 жыл бұрын
Yes Please!
@davidnkem94255 жыл бұрын
Yup
@muhammadzamzam99155 жыл бұрын
No
@hldelta4 жыл бұрын
MIPS!
@Rtoledo55023 жыл бұрын
Man!! You sent me back to 1977 when I was doing accounting programs for an Olivetti computer.
@javidx93 жыл бұрын
Lol... Could be a new record for "take me back" on this channel!
@ed5057 жыл бұрын
Your channel is like a gem that I just came across with. This is exactly what I was looking for.
@javidx97 жыл бұрын
Hey thanks ed505! Hope it's helpful!
@ed5057 жыл бұрын
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.
@NeilRoy7 жыл бұрын
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.
@javidx97 жыл бұрын
Hi Neil, I like that your comments add to the video content, and are useful for others to read, so cheers for that!
@Jianju696 жыл бұрын
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 "
@michellewilliams10905 жыл бұрын
You are a real OG coder
@kuhluhOG5 жыл бұрын
@@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...
@dustinandband5 жыл бұрын
Anything you could reference that goes in more depth on this topic (i.e. those videos you mentioned)? Very interesting stuff
@roblastem29052 жыл бұрын
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!
@billlets54602 жыл бұрын
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.)
@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.
@ZingsVideos5 жыл бұрын
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.
@Jared-Cruz5 жыл бұрын
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!
@javidx95 жыл бұрын
Hey Cheers Jared, I will! Good luck with your studies!
@howardalien2720 Жыл бұрын
You finished school? What do you do now?
@gregandark85717 жыл бұрын
why you don't write your own book on these stuff ? You are awesome!!!
@javidx97 жыл бұрын
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.
@yxor6 жыл бұрын
Please do
@gregandark85716 жыл бұрын
Please,good,jewish man. Write your book to give us the light inside this grey world !!!
@metall73315 жыл бұрын
@@javidx9 same here XD
@jzpatelut5 жыл бұрын
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..
@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.
@TrebleWing5 жыл бұрын
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
@fahimaljahangir30594 жыл бұрын
what kind of things did you do with ASM on these consoles?
@TrebleWing4 жыл бұрын
@@fahimaljahangir3059 My main goal was making music.... Made an album on NES as my first project
@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 🙏
@SpencerMckenithWilliams7 жыл бұрын
No hate here. thank you for your contribution
@javidx97 жыл бұрын
Thanks Spencer!
@SpencerMckenithWilliams7 жыл бұрын
Thank you. This has been quite helpful. even as an introduction
@akshatghoshal60984 жыл бұрын
@@SpencerMckenithWilliams why did he said he will get hate for saying c#. Isn't c# an excellent language?
@SpencerMckenithWilliams4 жыл бұрын
@@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
@JakobWierzbowski5 жыл бұрын
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!
@javidx95 жыл бұрын
lol hey thanks Jakob!
@raymondmichael49875 жыл бұрын
From Tanzania 🇹🇿, my thanks to you because i like a bit more on that assembly language, I appreciate your effort. Greetings from Tanzania 🇹🇿
@jzpatelut5 жыл бұрын
THANKS FOR VIDEO..JITEN PATEL INDIA jzpatelut..
@wdestroier4 жыл бұрын
This is the BEST explanation I've seen so far. Nobody explains the details like you
@nivalius6 жыл бұрын
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
@javidx96 жыл бұрын
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!
@AhnafAbdullah5 жыл бұрын
Asm is like making a 10 story building out of 1 cm^3 of cement and stone
@NewCurryofthepast4 жыл бұрын
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
@nivalius4 жыл бұрын
@@NewCurryofthepast oh, it's cool, thank you!
@MrDragonorp4 жыл бұрын
@@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.
@saadraiyan3 жыл бұрын
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.
@thefoolishgmodcube26447 жыл бұрын
You deserve more views.
@javidx97 жыл бұрын
Thanks! I'm happy if people just find the content useful.
@thefoolishgmodcube26447 жыл бұрын
I can't believe Pewdiepie is still a thing nowadays, what the hell is wrong with humanity?
@thefoolishgmodcube26447 жыл бұрын
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.
@thefoolishgmodcube26447 жыл бұрын
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.x6 жыл бұрын
I agree with your original post, but I found your comments quite embarrassing to read.
@kasimsche28124 жыл бұрын
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.
@bogulans28974 жыл бұрын
Seeing videos like this I cannot believe I can watch this high quality materials provided basically for free. Awesome work sir!
@spiderjuice98745 жыл бұрын
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!
@arlenestanton99554 жыл бұрын
Spider Juice Ben Eater’s 8-bit computer?
@spiderjuice98744 жыл бұрын
@@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...
@spiderjuice98744 жыл бұрын
@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.
@jcpartri5 жыл бұрын
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...
@javidx95 жыл бұрын
Thank you very much John!
@TheClearsky884 жыл бұрын
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!
@installtekzdotcom97775 жыл бұрын
It's videos like this what makes formal education obsolete :) thanks
@FROZENbender4 жыл бұрын
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.
@MrZack14974 жыл бұрын
@@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.
@jamesevans25074 жыл бұрын
lmfao @ you if you actually believe that
@MrZack14974 жыл бұрын
I agree with many of the comments. That was very well spoken. I would have benefited seeing this before diving into it in University.
@rodionsabbath97225 жыл бұрын
You know what ? Thank you for taking your time and making videos, world is a much better place now.
@الإسلامدينالحق-خ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-
@vancemccarthy25544 жыл бұрын
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.
@garrusarchangel45626 жыл бұрын
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 =)
@javidx96 жыл бұрын
Hi Garrus, I'm sure your English is better than my Russian! :D Thanks for your support, it is much appreciated!
@trueverdicts6855 жыл бұрын
This video deserves so much more views!
@javidx95 жыл бұрын
Thanks TrueVerdicts, as longs as those who do watch it, get something from it, I'm happy.
@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.
@eso_erica4 жыл бұрын
I didn't want this video to end. Super digestible and interesting.
@JacobMarley-r2n5 жыл бұрын
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
@williamshakespeare24827 жыл бұрын
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.
@javidx97 жыл бұрын
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!
@williamshakespeare24827 жыл бұрын
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."
@javidx97 жыл бұрын
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.
@megapixeler4 жыл бұрын
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!
@shane90054 жыл бұрын
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.
@sharks30103 жыл бұрын
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!" ✌
@scriptingtutorials40606 жыл бұрын
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.
@javidx96 жыл бұрын
Thanks buddy, its not a deep tutorial but certainly makes you aware of what ASM is all about!
@mannhansen93374 жыл бұрын
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.
@Mr_Matrix5 жыл бұрын
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 ❤️
@javidx95 жыл бұрын
My pleasure Mr Matrix, thanks for your support!
@nikolaus26884 жыл бұрын
I stopped understanding what was going on around 15 minutes in, but for me that's already a massive increase in knowledge. Thank you.
@Milosz_Ostrow5 жыл бұрын
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.
@AhnafAbdullah5 жыл бұрын
Wait... An integrated circuit designer is supposed to know what capacitors are since they make those circuits
@kamalmanzukie4 жыл бұрын
@@AhnafAbdullah yeah, that doesn't make any sense
@caleb56884 жыл бұрын
I'm a front end developer, this is exactly what I needed. Thanks!
@BoardToBitsGames5 жыл бұрын
This is the best primer on assembly language I have seen. Thanks very much!
@javidx95 жыл бұрын
Hey I appreciate that buddy, thanks a lot!
@pablodavidgaytanrodriguez48294 жыл бұрын
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 :)
@matheusmelo60224 жыл бұрын
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_4 жыл бұрын
Which book do you have?
@Arien17k4 жыл бұрын
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 )
@nakternal6 жыл бұрын
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.
@javidx96 жыл бұрын
Thanks nakternal!
@sdsdfdu44375 жыл бұрын
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.
@Nob1ej0n5 жыл бұрын
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.
@ioannis69k4 жыл бұрын
In 1990 Assembly was the basis before learning any other language ! Just love it. Thanks for the video !!!
@stupossibleify5 жыл бұрын
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
@javidx95 жыл бұрын
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!
@MattLozier3145 жыл бұрын
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!!
@javidx95 жыл бұрын
Glad you liked it, cheers Matt!
@sdsdfdu44375 жыл бұрын
I'd probably separate languages with a runtime (like Java or c#) vs languages with little or no runtime, like c/c++ and rust.
@youneskasdi3 жыл бұрын
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
@doctortrouserpants13873 жыл бұрын
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!
@kimjongun99156 жыл бұрын
If you want to get your head dissembled , this is the language to learn.
@bryanl19846 жыл бұрын
That face.... have some bad kimche Dear Leader's Son's Son?
@bryanl19845 жыл бұрын
@maverickM249 OPs avatar
@bryanl19845 жыл бұрын
@maverickM249 looks like Kim Jong-un is having some intestinal distress...
@anythingeverything26595 жыл бұрын
Kimchi farts are the WORST.
@fortuneolose94244 жыл бұрын
I see what you did there
@ferdinandomirabella18615 жыл бұрын
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.
@AlexPerez-ek3xp6 жыл бұрын
Visual Studio zoom in = Alt+ mouse scrolling, very informative video thank you.
@javidx96 жыл бұрын
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!
@iamtheteapot7405 Жыл бұрын
As a returning student learning c++, this was a very easy to understand explanation of assembly. Thank you so much.
@ralphsvensson95234 жыл бұрын
Thank you for your vids! Cheers from Sweden :)
@yashesvi-raina4 жыл бұрын
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 !
@veda-powered6 жыл бұрын
2:09 I like Lua too, it was my first programming language.
@javidx96 жыл бұрын
Good Stuff!
@thefoolishgmodcube26446 жыл бұрын
Same
@darkstorminc4 жыл бұрын
Mine was C
@tylerlwsmith4 жыл бұрын
This video was super helpful, as I'm also a web developer who hasn't explored assembly. Thank for you for making this!
@aryesegal19887 жыл бұрын
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! :)
@javidx97 жыл бұрын
Thanks Aryesegal! I really appreciate your comments on both matters, and I'm pleased you're enjoying the channel.
@spiderjuice98746 жыл бұрын
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.
@javidx96 жыл бұрын
Hey Spider Juice , you and I share something in common then. You must come in and sit by the fire! :D
@spiderjuice98746 жыл бұрын
Would be my pleasure!
@brainplot6 жыл бұрын
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
@javidx96 жыл бұрын
Hi Gianluca, You're welcome! I'd never really considered my accent before :D
@TomokoAbe_ Жыл бұрын
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.
@domobrah26715 жыл бұрын
Incredible! I've always wondered how assembly works. Thank you for this explanation! I feel like I'm learning ancient secrets of computing lol
@javidx95 жыл бұрын
lol Thanks Domo, these ancient secrets are still incredibly important today!
@kurtlindal48012 жыл бұрын
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!!
@gigabek Жыл бұрын
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.
@foreverseethe6 жыл бұрын
Aw man, I got lost, you have a good video presence and it-s well paced though. I-ll take a second look later.
@javidx96 жыл бұрын
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!
@AliHassan-vd6zj5 жыл бұрын
Keep it up mate. People like you is the only reason i like using youtube really knowledge that you dont get even in classes
@AmitsLife3 жыл бұрын
Thank you so much
@markharrisllb3 жыл бұрын
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. 🌹 🌹 🌹
@Artaxerxes.5 жыл бұрын
I think its great. You'll never understand computers unless you learn assembly language
@WisdomofHal5 жыл бұрын
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.
@AmitVerma-rc1ex5 жыл бұрын
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
@WisdomofHal5 жыл бұрын
Amit Verma you built an operating system...................? What’s your contact
@AmitVerma-rc1ex5 жыл бұрын
@@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
@WisdomofHal5 жыл бұрын
Amit Verma is it on github?
@AmitVerma-rc1ex5 жыл бұрын
@@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.
@WisdomofHal5 жыл бұрын
Amit Verma Gladly will show interest in such a feat. Will love to tinker with this
@Willifordwav3 жыл бұрын
You’re officially my new favorite programming channel
@chriswinslow6 жыл бұрын
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.
@javidx96 жыл бұрын
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.
@gosnooky5 жыл бұрын
Best computer science channel on the KZbins by a mile.
@codythompson99736 жыл бұрын
Thank you for this video man. I think it is very helpful.
@javidx96 жыл бұрын
No problem, Thanks Quarter!
@skf9573 жыл бұрын
Watching this 4 years after, but still, well said. And a great assembly language video. Simplified is what I need, thank you.
@jerichoblt9744 жыл бұрын
12:03 "zero = 1" ALL OF REALITY IS A LIE!!!
@mparagames4 жыл бұрын
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.
@mparagames4 жыл бұрын
@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.
@mparagames4 жыл бұрын
@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.
@mparagames4 жыл бұрын
@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.
@mparagames4 жыл бұрын
@steve gale OK...
@lyrics27033 жыл бұрын
when i listening to you i feel relaxed, really, love from Turkey
@jakobfischer99856 жыл бұрын
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.
@javidx96 жыл бұрын
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.
@jakobfischer99856 жыл бұрын
@@javidx9 Ooh I see, that clears it up. Thank you very much for the quick response!
@mr_ahron5 жыл бұрын
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)
@ezassegai47934 жыл бұрын
I appreciate the work that went into creating the progamming languages we use today. As an IT student who can code a bit I must admit that I have absolutely no clue how and why these things even work. Totally blown away by the thought of how much work went into all the stuff we so casually use today.
@RingZero5 жыл бұрын
I have been creating utilities in Assembler since early 90’s.... still use it. That’s all I know 😉
@Lu-ql5tj4 жыл бұрын
Then why do you call it assembler? Assembler is the compiler. You don't call C, GCC.
@RingZero4 жыл бұрын
Luís Carlos : what would you like to call it?
@Lu-ql5tj4 жыл бұрын
@@RingZero Assembly!
@RingZero4 жыл бұрын
Luís Carlos : Appreciate you correcting me 🙏🏽
@0x44Monad3 жыл бұрын
Amazing video, thank you. It would be nice to see that virtual machine in assembly videoseries!
@javidx93 жыл бұрын
Thanks, I kinda did with the NES emulator series, which wouldn't be a bad starting place about the subject, especially episode 2.
@0x44Monad3 жыл бұрын
@@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.
@rty19555 жыл бұрын
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.
@areg71824 жыл бұрын
"C wasted too much memory" haha tell that to javascript programmers they'll think you're insane
@rty19554 жыл бұрын
@@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
@areg71824 жыл бұрын
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?
@bogdandumitrescu89874 жыл бұрын
Could you make a similar video for the most efficient code ? Or recommend a different source for better ASM coding ? (Book, video, tutorial, article) ?
@rty19554 жыл бұрын
@@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
@kamertonaudiophileplayer8474 жыл бұрын
Assembly Language was first language I learned. Nice to see that someone still learning it.
@chroniclesofbap61705 жыл бұрын
The registers in a Scouse processor are: RA RA CALM DOWN
@ongyuxuan69893 жыл бұрын
This is such an incredible introduction, appreciate it so much!
@50_Pence7 жыл бұрын
great tutorial!
@FaisalR5 жыл бұрын
One of best KZbin channel about programming i ever subscribed along with coding train
@javidx95 жыл бұрын
Hey thanks Faisal, very kind of you to say so!
@FaisalR5 жыл бұрын
@@javidx9 i hope in a next video you can use another language as Java or C#
@gliderspace4 жыл бұрын
"I like Lua" No shit, Lua is beautiful. If Lua was a girl I would marry it
@mparagames4 жыл бұрын
LOL
@Keaza.4 жыл бұрын
Correct, I learned LUA from an old game called Tibia, it was and is so beautiful
@gianz734 жыл бұрын
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!
@amnest1ac5 жыл бұрын
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
@victorolmedos5 жыл бұрын
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ت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-
@cheesegreater57393 жыл бұрын
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?
@Gordin5086 жыл бұрын
This introduction to assembly was very enlightening and reasonably simplified. Thank you very much!