Тёмный

What Is Assembly Language? 

javidx9
Подписаться 315 тыс.
Просмотров 451 тыс.
50% 1

Assembly language (ASM) is not a mythical dark art, in fact it's fundamental to computers operating at all. I take a quick look at a very simple assembly language and show where it fits in.

Опубликовано:

 

28 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 932   
@paeden5431
@paeden5431 6 лет назад
Indeed, well done Manchester. Love from the USA, stay strong, brothers across the big pond.
@jzpatelut
@jzpatelut 5 лет назад
THANKS FOR VIDEO...!!!!! HAY YOU F.......!!!!! ASSEMBLY LANGUAGE IS JUST MNEMONIC CODE OF INSTRUCTIONS..!!! jzpatelut...INDIA...
@thdoom81
@thdoom81 4 года назад
stay strong against what
@dodgecoates8760
@dodgecoates8760 4 года назад
Thulsa Doom en.m.wikipedia.org/wiki/Manchester_Arena_bombing
@WolfyRed
@WolfyRed 3 года назад
332 likes nicxe
@WolfyRed
@WolfyRed 3 года назад
@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 3 года назад
He even sounds the part
@ucmRich
@ucmRich 6 лет назад
I vote for more Assembly videos and tutorials! if you would please :-)
@Pridetoons
@Pridetoons 5 лет назад
Yes Please!
@davidnkem9425
@davidnkem9425 4 года назад
Yup
@muhammadzamzam9915
@muhammadzamzam9915 4 года назад
No
@hldelta
@hldelta 4 года назад
MIPS!
@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!
@NeilRoy
@NeilRoy 6 лет назад
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 6 лет назад
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 5 лет назад
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 4 года назад
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.
@gregandark8571
@gregandark8571 6 лет назад
why you don't write your own book on these stuff ? You are awesome!!!
@javidx9
@javidx9 6 лет назад
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 5 лет назад
Please,good,jewish man. Write your book to give us the light inside this grey world !!!
@metall7331
@metall7331 5 лет назад
@@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..
@ed505
@ed505 6 лет назад
Your channel is like a gem that I just came across with. This is exactly what I was looking for.
@javidx9
@javidx9 6 лет назад
Hey thanks ed505! Hope it's helpful!
@ed505
@ed505 6 лет назад
It is extremely helpful. It does clear up a lot of things I couldn't quite understand. Your channel has some great content. I am a new subscriber.
@roblastem2905
@roblastem2905 Год назад
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 Год назад
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.)
@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 11 месяцев назад
You finished school? What do you do now?
@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.
@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.
@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
@bogulans2897
@bogulans2897 4 года назад
Seeing videos like this I cannot believe I can watch this high quality materials provided basically for free. Awesome work sir!
@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.
@Garfield_Minecraft
@Garfield_Minecraft 11 месяцев назад
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 🙏
@nivalius
@nivalius 6 лет назад
no words can describe my admiration for ASM and the people who are fluent in it, but for me it's still a dark magic
@javidx9
@javidx9 6 лет назад
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 4 года назад
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.
@williamshakespeare2482
@williamshakespeare2482 6 лет назад
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 6 лет назад
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 6 лет назад
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 6 лет назад
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.
@gianz73
@gianz73 3 года назад
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!
@nakternal
@nakternal 5 лет назад
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 5 лет назад
Thanks nakternal!
@SpencerMckenithWilliams
@SpencerMckenithWilliams 6 лет назад
No hate here. thank you for your contribution
@javidx9
@javidx9 6 лет назад
Thanks Spencer!
@SpencerMckenithWilliams
@SpencerMckenithWilliams 6 лет назад
Thank you. This has been quite helpful. even as an introduction
@akshatghoshal6098
@akshatghoshal6098 3 года назад
@@SpencerMckenithWilliams why did he said he will get hate for saying c#. Isn't c# an excellent language?
@SpencerMckenithWilliams
@SpencerMckenithWilliams 3 года назад
@@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
@raymondmichael4987
@raymondmichael4987 4 года назад
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 4 года назад
THANKS FOR VIDEO..JITEN PATEL INDIA jzpatelut..
@techcorp
@techcorp 5 лет назад
Awesome stuff. This is exactly what I was searching for over a year. Hope you'll create more videos on topics like these.
@user-ri2ms2mm7w
@user-ri2ms2mm7w 2 года назад
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./ ru-vid.com/group/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-
@wdestroier
@wdestroier 4 года назад
This is the BEST explanation I've seen so far. Nobody explains the details like you
@thefoolishgmodcube2644
@thefoolishgmodcube2644 6 лет назад
You deserve more views.
@javidx9
@javidx9 6 лет назад
Thanks! I'm happy if people just find the content useful.
@thefoolishgmodcube2644
@thefoolishgmodcube2644 6 лет назад
I can't believe Pewdiepie is still a thing nowadays, what the hell is wrong with humanity?
@thefoolishgmodcube2644
@thefoolishgmodcube2644 6 лет назад
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 6 лет назад
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 5 лет назад
I agree with your original post, but I found your comments quite embarrassing to read.
@eso_erica
@eso_erica 4 года назад
I didn't want this video to end. Super digestible and interesting.
@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!
@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!
@BoardToBitsGames
@BoardToBitsGames 5 лет назад
This is the best primer on assembly language I have seen. Thanks very much!
@javidx9
@javidx9 5 лет назад
Hey I appreciate that buddy, thanks a lot!
@ferdinandomirabella1861
@ferdinandomirabella1861 4 года назад
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.
@kasimsche2812
@kasimsche2812 4 года назад
It's your channel that made me feel great for using RU-vid since 2012. Else each and every one is on fly. Many will come many will go, you are the only RU-vid's real soul. Assembly is Love. You made it life for me. Thank you sir.
@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!
@JakobWierzbowski
@JakobWierzbowski 4 года назад
Dear Mister Barr, you are a great person! The way you explain things is rather poetic from the point of view of a non-native speaker. Thank you for all your hard work in the videos. I love them!
@javidx9
@javidx9 4 года назад
lol hey thanks Jakob!
@somaar3186
@somaar3186 2 года назад
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.
@chocolate_squiggle
@chocolate_squiggle 4 года назад
Thank you I appreciated this overview and demonstration very much. Having worked and been around lots of IT, but never been a programmer, I had an idea that assembly was moving memory addresses about but that was all. Seeing you solve the simple multiplication problem with add/subtract and a loop made me realise it's not as far removed from a compiled language as I had thought. But I see you do need to understand the architecture and the instruction sets available. Great intro, thanks again.
@installtekzdotcom9777
@installtekzdotcom9777 4 года назад
It's videos like this what makes formal education obsolete :) thanks
@FROZENbender
@FROZENbender 3 года назад
as much as I like javidx9 and similar channels, there are a good chunk of areas they couldn't explore simply because it is way too much. Stuff like high level algorithmic and computer theory, or a deep dive into distributed database systems. You could probably assemble an equivalent understanding of mathematics from all the great youtube channels but for a good chunk of other stuff you really do need lengthy professional education. Alternatively you could look at literature yourself, at which point it falls into the formal education camp again. I'm sure there are long series of videos on these subjects, but they would be paid courses which again would probably fall under the formal education description.
@MrZack1497
@MrZack1497 3 года назад
@@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 3 года назад
lmfao @ you if you actually believe that
@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!
@skf957
@skf957 3 года назад
Watching this 4 years after, but still, well said. And a great assembly language video. Simplified is what I need, thank you.
@MattLozier314
@MattLozier314 4 года назад
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 4 года назад
Glad you liked it, cheers Matt!
@rodionsabbath9722
@rodionsabbath9722 4 года назад
You know what ? Thank you for taking your time and making videos, world is a much better place now.
@user-ri2ms2mm7w
@user-ri2ms2mm7w 2 года назад
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./ ru-vid.com/group/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-
@kimjongun9915
@kimjongun9915 6 лет назад
If you want to get your head dissembled , this is the language to learn.
@bryanl1984
@bryanl1984 5 лет назад
That face.... have some bad kimche Dear Leader's Son's Son?
@bryanl1984
@bryanl1984 5 лет назад
@maverickM249 OPs avatar
@bryanl1984
@bryanl1984 5 лет назад
@maverickM249 looks like Kim Jong-un is having some intestinal distress...
@anythingeverything2659
@anythingeverything2659 4 года назад
Kimchi farts are the WORST.
@fortuneolose9424
@fortuneolose9424 4 года назад
I see what you did there
@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.
@joeprinz4351
@joeprinz4351 4 года назад
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
@trueverdicts685
@trueverdicts685 5 лет назад
This video deserves so much more views!
@javidx9
@javidx9 5 лет назад
Thanks TrueVerdicts, as longs as those who do watch it, get something from it, I'm happy.
@Milosz_Ostrow
@Milosz_Ostrow 4 года назад
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 4 года назад
Wait... An integrated circuit designer is supposed to know what capacitors are since they make those circuits
@kamalmanzukie
@kamalmanzukie 3 года назад
@@AhnafAbdullah yeah, that doesn't make any sense
@WisomofHal
@WisomofHal 4 года назад
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.
@ralphsvensson9523
@ralphsvensson9523 3 года назад
Thank you for your vids! Cheers from Sweden :)
@spiderjuice9874
@spiderjuice9874 4 года назад
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 3 года назад
@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!" ✌
@tylersmith8245
@tylersmith8245 4 года назад
This video was super helpful, as I'm also a web developer who hasn't explored assembly. Thank for you for making this!
@aryesegal1988
@aryesegal1988 6 лет назад
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 6 лет назад
Thanks Aryesegal! I really appreciate your comments on both matters, and I'm pleased you're enjoying the channel.
@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 4 года назад
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.
@ongyuxuan6989
@ongyuxuan6989 2 года назад
This is such an incredible introduction, appreciate it so much!
@Willifordwav
@Willifordwav 3 года назад
You’re officially my new favorite programming channel
@Mr_Matrix
@Mr_Matrix 5 лет назад
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!
@domobrah2671
@domobrah2671 5 лет назад
Incredible! I've always wondered how assembly works. Thank you for this explanation! I feel like I'm learning ancient secrets of computing lol
@javidx9
@javidx9 5 лет назад
lol Thanks Domo, these ancient secrets are still incredibly important today!
@18890426
@18890426 3 года назад
Thank you for this video. I'll keep watching it to learn more from it and also watch other videos. I'm glad that I found out this 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
@AlexPerez-ek3xp
@AlexPerez-ek3xp 6 лет назад
Visual Studio zoom in = Alt+ mouse scrolling, very informative video thank you.
@javidx9
@javidx9 6 лет назад
Hi Alex, thanks! I use CTRL+Scroll for zooming the source, but I can't zoom the additional windows in the same way. I'll give ALT a try!
@AmitsLife
@AmitsLife 3 года назад
Thank you so much
@arielspalter7425
@arielspalter7425 4 года назад
Very well made. Thank you for all your uploads. Subscribed!
@yashesvii
@yashesvii 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 !
@codythompson9973
@codythompson9973 6 лет назад
Thank you for this video man. I think it is very helpful.
@javidx9
@javidx9 6 лет назад
No problem, Thanks Quarter!
@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
@yilmazdere9772
@yilmazdere9772 6 лет назад
I just can't stop watching your videos! You are doing this awesome! :)
@javidx9
@javidx9 6 лет назад
Hey Yilmaz! Thanks!
@megapixeler
@megapixeler 3 года назад
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!
@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!
@sdsdfdu4437
@sdsdfdu4437 4 года назад
I'd probably separate languages with a runtime (like Java or c#) vs languages with little or no runtime, like c/c++ and rust.
@youneskasdi
@youneskasdi 3 года назад
C# is a bit weird i used to think it was the same as Java until i started using it, it can give you about the same control(and headache) as c++ if you dig deep enough while being a high level language at the same time
@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!
@nikolaus2688
@nikolaus2688 3 года назад
I stopped understanding what was going on around 15 minutes in, but for me that's already a massive increase in knowledge. Thank you.
@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 )
@50_Pence
@50_Pence 6 лет назад
great tutorial!
@Gordin508
@Gordin508 6 лет назад
This introduction to assembly was very enlightening and reasonably simplified. Thank you very much!
@javidx9
@javidx9 6 лет назад
Thanks Gordin!
@markharrisllb
@markharrisllb 2 года назад
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. 🌹 🌹 🌹
@veda-powered
@veda-powered 5 лет назад
2:09 I like Lua too, it was my first programming language.
@javidx9
@javidx9 5 лет назад
Good Stuff!
@thefoolishgmodcube2644
@thefoolishgmodcube2644 5 лет назад
Same
@darkstorminc
@darkstorminc 3 года назад
Mine was C
@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!
@ioannis69k
@ioannis69k 3 года назад
In 1990 Assembly was the basis before learning any other language ! Just love it. Thanks for the video !!!
@waltergrosvenor1555
@waltergrosvenor1555 4 года назад
Thanks for the blast from the past. I haven't written any assembly since I was writing applications in it on an IBM System 3 with 32K of memory. Still it was easier than S/360 autocoder. Excellent presentation! Thanks again.
@Artaxerxes.
@Artaxerxes. 4 года назад
I think its great. You'll never understand computers unless you learn assembly language
@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
@conts8762
@conts8762 4 года назад
Great video, recently i started learning C++ in university (not CS) and wanted to know about what assembly is in a not-too-in dept way and this is just what the video did!
@Web-Dev-Codi
@Web-Dev-Codi 3 года назад
Love how you made it so simple to understand!
@chriswinslow
@chriswinslow 5 лет назад
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 5 лет назад
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.
@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
@gosnooky
@gosnooky 5 лет назад
Best computer science channel on the RU-vids by a mile.
@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 RU-vid 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.
@RingZero
@RingZero 4 года назад
I have been creating utilities in Assembler since early 90’s.... still use it. That’s all I know 😉
@Lu-ql5tj
@Lu-ql5tj 4 года назад
Then why do you call it assembler? Assembler is the compiler. You don't call C, GCC.
@RingZero
@RingZero 4 года назад
Luís Carlos : what would you like to call it?
@Lu-ql5tj
@Lu-ql5tj 4 года назад
@@RingZero Assembly!
@RingZero
@RingZero 4 года назад
Luís Carlos : Appreciate you correcting me 🙏🏽
@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...
@caleb5688
@caleb5688 3 года назад
I'm a front end developer, this is exactly what I needed. Thanks!
@antoinetoussaint483
@antoinetoussaint483 3 года назад
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 :)
@chroniclesofbap6170
@chroniclesofbap6170 4 года назад
The registers in a Scouse processor are: RA RA CALM DOWN
@rty1955
@rty1955 4 года назад
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 3 года назад
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 3 года назад
@@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
@djaimzy
@djaimzy 3 года назад
thank you for the lessons , you've helped me a lot . the first 15 minutes was very well explained to me.
@js_models
@js_models 5 лет назад
Love your channel. It's more useful than the courses I did at University.
@javidx9
@javidx9 5 лет назад
lol thanks RTSC!
@AmitVerma-rc1ex
@AmitVerma-rc1ex 4 года назад
hi there, I have created an operating system entirely based on assembly language and it also has a basic language interpreter built it , now I want to develop network components for that thing , please make a video on network sockets if you can , thank you for your precious contribution and I loved the idea of creating a virtual machine from scratch
@WisomofHal
@WisomofHal 4 года назад
Amit Verma you built an operating system...................? What’s your contact
@AmitVerma-rc1ex
@AmitVerma-rc1ex 4 года назад
@@WisomofHalajtg1234@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
@WisomofHal
@WisomofHal 4 года назад
Amit Verma is it on github?
@AmitVerma-rc1ex
@AmitVerma-rc1ex 4 года назад
@@WisomofHal 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.
@WisomofHal
@WisomofHal 4 года назад
Amit Verma Gladly will show interest in such a feat. Will love to tinker with this
@jakobfischer9985
@jakobfischer9985 5 лет назад
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 5 лет назад
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 5 лет назад
@@javidx9 Ooh I see, that clears it up. Thank you very much for the quick response!
@mr_ahron
@mr_ahron 5 лет назад
Is look like that the this Architecture have more command set (If I'm not wrong all the modern CPU's have more than 100 commands types). The CPU use in this register to copy the first number [a] in the first command. ({CMD} vmovss {detestation reg} xmm00, {from memory location} dword ptr [a]) In the second command the CPU multipale the register xmm00 with [b] and put the result in register xmm00. ({CMD} vmulss {result to detestation reg} xmm00, {first multiple argument from reg} xmm00, {second multiple argument from memory location} dword ptr [b]) in the third command the CPU copy the result from the register to the memory location [c]. ({CMD} vmovss {detestation memory} dword ptr [c], {from reg} xmm00)
@syedkumailhussainsherazi3871
@syedkumailhussainsherazi3871 5 лет назад
omg please make series on Virtual Machine I have been thinking of implementing a basic VM for quite some time but I get overwhelmed by basic things like how would I implement jmps and labels etc... watching in practice how a VM is made will surely help me and improve my confidence. Also love your vids, they are truly great.
@jtfrench80
@jtfrench80 5 лет назад
I am new to coding watched this while taking a break from coding. Subscriber for life. :)
@urinater
@urinater 3 года назад
You can go lower: Machine Code Zeros and Ones Voltages
Далее
Programming Logitech Keyboard to Display Twitch Chat
30:30
Game Physics (in Assembler) - Computerphile
19:24
Просмотров 711 тыс.
computers suck at division (a painful discovery)
5:09
Brute Force Processing
52:50
Просмотров 155 тыс.
Cross Platform Graphical User Interfaces in C++
44:49
Просмотров 859 тыс.
C++ vs Rust: which is faster?
21:15
Просмотров 378 тыс.
All Rust features explained
21:30
Просмотров 287 тыс.