So much jargon holy crap man do any of u nerds speak english?
@ntsystem3 жыл бұрын
This is 1000 of google searches simplified and compressed to 11 minutes. Thank you!
@sp3ct3r713 жыл бұрын
damn yes🔥🔥
@Brahvim2 жыл бұрын
Exactly! This is exactly what it felt like for me! ...moreover, he explained VERY well!
@thediesel33362 жыл бұрын
said a whole lot of nothing
@BryanChance Жыл бұрын
Hell ya! Holy smokes, this 11 minute video help me make sense of things I've learned from other assembly videos.
@kentheengineer592 Жыл бұрын
For Me It's About 50 Google Searches
@piiumlkj64976 жыл бұрын
If you can read assembly everything is Open Source !
@obinator90656 жыл бұрын
Yeah well, if you like to read through 10 times the loc's of the original project in a particular language ;D
@Engineer97365 жыл бұрын
And if you can bruteforce a 512 bit encryption key by looking at it then all doors are open. Pretty much the same statement.
@hereb4theend5 жыл бұрын
When I look at instruction sets all I see is redheads, brunettes and blondes 😜
@TheDailyMemesShow5 жыл бұрын
@@hereb4theend Nice try, Cypher! 😂
@XadaTen5 жыл бұрын
@@Engineer9736 Eventually those encrypted instructions will need to be loaded into memory in an unencrypted state to be ran by the CPU, from which you could then dump the memory, retrieve the machine instructions, convert to assembly, then convert to a higher level language (to varying degrees of success). It just wont end up in much of a readable state, but you'll have it! haha
@chris02345 жыл бұрын
the only video I ever watched at 0.75x. Absolutely fantastic. (80% of explainer videos have to be watched at 1.5x)
@DL_GLCH3 жыл бұрын
For those who might find it useful, this is the transcription of the video (I wrote it to memorize better and to check it whenever I want): Compilers read the .c file and convert the code into a sequence of operations: each operation is comprised of a sequence of bytes: operation code or opcode. The instructions executed by reading opcodes is impossible, so Assembly translate these instructions into a human-readable language. ELEMENTS OF AN EXECUTABLE: Every C program has 4 main components: heap, stack, registers and instructions. The two main architectures that dictate how a program is compiled and executed are 32-bit and 64-bit architectures. The heap: The heap is an area in memory designed for the purpose of manual memory allocation. The inner workings of the heap are incredibly complicated. Memory is allocated on the heap whenever functions as malloc and calloc are called or global or static variables are declared. Registers: Registers are small storage areas in the processor, used to store memory addresses, values or anything that can be represented with eight bytes or less. In the x86 architecture there are six general-purpose registers: EAX, EBX, ECX, EDX, ESI and EDI, generally used on an as-needed basis. There are also three registers reserved for specific purposes: EBP, ESP and EIP. The stack: The stack is a data structure comprised with elements added and removed with two operations, push and pop: push adds an element at the top of the stack and pop removes the top element from the stack. Each element on the stack is assigned to stack address: elements higher on the stack have a lower address than those on the bottom, so the stack grows towards lower memory addresses. When a function is called, that function is set up with what is called a stack frame: all local variables for that function will be stored in that function stack frame. The EBP register, also known as the base pointer, contains the address of the base of the current stack frame, and the ESP register (stack pointer) contains the address of the top element of the current stack frame. The space between these two registers make up the stack frame of the function currently called. All the stack addresses outside are considered to be junked by the compiler. Let's take for example a function that takes one variable as a parameter and declares two local integers like that: void func(int x){ int a = 0; int b = x; } First the value of the argument is pushed onto the stack, then the return address of the function is pushed onto the stack. The return address is the four byte address of the instruction executed when the function has gone out of scope, then the base pointer is pushed onto the stack, then the stack pointer is given the value of the base pointer and finally the stack pointer is decremented to make room for the local variables. The number of bytes that the stack pointer is decremented by may vary depending on the compiler. All the space in memory between the stack and the base pointer is the function stack frame: this sequence of instructions is the function prologue, performed when a function is called. Since "a" is initialized to 0, the value will be moved into the memory address 4 bytes below the base pointer because an integer is 4 bytes, so the local variable is now a location EBP -4. The value of a function argument is stored 8 bytes above the base pointer, which is not in the function stack frame. Values of the stack cannot be moved directly to another location on the stack, so general-purpose registers come in: the value of the argument to the function must first be copied into one of these, then the value is moved into the memory address 4 bytes below the first variable and eight bytes below the base pointer. Both of the local variables have been now initialized and can be used later. There are two syntaxes that Assembly is normally written in: AT&T and Intel. The instructions are the same. We use the Intel syntax. Every instruction has two parts: operation and arguments: operation can take either one or two arguments: if an operation take two arguments they're separated by a comma. The mov instruction takes two arguments and copies the value of the second one in the location referred by the first one. But, if for example we want to move a local variable (stored at EBP -8) on the stack into the EAX register, if the command were to read "move EAX, EBP -0x8" this would not copy the value of the variable into the register, because EBP -8 is the address on the stack where the variable is located, so instead the instruction would copy the address if the variable into the register. To copy the actual value or what EBP -8 is pointing to we use "[]" (like the dereference operator in C): when they're used the value being pointed to is referenced. The add instruction takes two arguments: it adds their values and stores the result in the first one. For example, if eax has the value of 10, "add eax, 0x5" updates the value of eax to 15. The sub instruction works the same way, but the value of the second argument is subtracted from the first. The push instruction places its operand on the top of the stack: it first decrements the stack pointer and then places its operand in the location that it points to. The pop instruction takes a register as an argument, moves the top element of the stack into that register and then increments the stack pointer. The lea instruction (load effective adrress) places the address specified by its second operand into the register specified by the first one. It's usually used for obtaining a pointer into a memory region. The control flow of an executable is where all of the if statements and loops in the code come together to determine the order in which instructions are executed. Every instruction has an address: this is the area in memory where the instruction is stored. The EIP register always contains the address of the instruction that is currently being executed, so the computer executed whatever the instruction pointer is pointing to and then the instruction pointer will be moved to the next one. The compare instruction is an equivalent of the sub one, but instead of storing the result into the first argument it will set a flag in the processor that contains the value 0, greater than 0 or less than 0. For example, "cmp 1, 3" subtracts 3 from 1 and since -2 is less than 0 the flag will be set accordingly. Compare instructions are followed by a jump instruction: it takes an instruction address as its argument, checks the current state of the flag and, depending on the state, sets the instruction pointer to its argument. There are many types of jump instructions: some include jump if equal to, jump if not equal to and jump if greater than. The call instruction calls a function, whether it be a user-defined function or a PLT function (like printf or scanf). It takes one argument and it will push the return address of the function being called onto the stack and then move eip to the first instruction of the function. The leave instruction is called at the end of every function and it destroys the current stack frame by setting the stack pointer to the base pointer and popping the base pointer off the top of the stack. The return instruction always follows a leave instruction and, since the base pointer has already been popped off the stack, the return address of the function is now on the top of the stack. The return instruction will pop the return address off the top of the stack and then set the instruction pointer to that address.
@pedromatias59272 жыл бұрын
KZbin needs a way to store comments!
@bailey1252 жыл бұрын
@@pedromatias5927 copy paste into notepad++
@maxmuster70032 жыл бұрын
Oh, this is a perspective on how C programmer can understand assembly language. ...Good work.... I am not familar with C. In assembly we do not have to use the calling convention if we want to call one of our subroutines. We can place values for the subroutine inside of CPU register and into the data segment. We can use values of the data segment any time within nested subroutines no matter where the stack pointer is and nothing get lost. Push/Pop instructions are slow on older x86 before Pentium 4.
@maxmuster70032 жыл бұрын
We can use the LEA instruction on 80386+ for calculating values. No memory access, no flags touched, the result have fit into the target. Example with intel syntax: LEA eax, [eax+ebx*4+224] It perform two addition and a multiplication in one instruction.
@maxmuster70032 жыл бұрын
Element of a 16 bit executable An executable com file starts with CS=DS=SS and a segment size of 64kb at the address cs:0100. It contains no header, only mashine code and data. Ready to switch into the 64 bit mode and start all cores of the multicore CPU.
@cepi248 жыл бұрын
Holly crap! this was more useful than whole semester on my university. Please keep doing those videos. Thank you very much.
@heatxtm7 жыл бұрын
to understand all of this just watching it one time (in 10 mins) you should have gone to that semester is like a summarising video awesome video
@keithotinya32107 жыл бұрын
that was way more informative than my whole semester......true story...
@QuasiELVIS7 жыл бұрын
If you guys are doing computer science and you haven't covered all this yet then you must be in your first year.
@jae55776 жыл бұрын
Absolutely Bud.
@strawberryrain88476 жыл бұрын
eh you probably did not go through a good class i should say? check out something i did pre-university (10th grade) nand2tetris.org.....
@dedballoons6 жыл бұрын
Did that dude just check back at his notes in the first 3 seconds to remember his name? I fucking love this dude already.
@TEXASF1ERCE5 жыл бұрын
Lmao I wish he would've continued this serious though. Very easy to understand and straight to the point.
@varunpawar8 ай бұрын
😂 gave me a laugh , thanks for pointing.
@4.0.47 жыл бұрын
I started the video thinking I was going to let down by the length, but since it was so short, it wouldn't hurt to watch. Then I saw how good the video was. Damn.
@Blowyourspot7478 жыл бұрын
I love you so much for this I wanna cry
@_nit8 жыл бұрын
Fantastic and coherent explanation. You earned yourself a sub. This might be the quickest/clearest explanation of the basics of how x86 works.
@kentatakao68637 жыл бұрын
Essentially the same explanation I've read on multiple websites and heard in multiple KZbin videos, yet just as vague and unsatisfactory.
@dannygjk7 жыл бұрын
Morris Laurent You can't become competent in Assembly in a short period of time. You have to want to become good at it *and* you have to devote yourself to it. Dump all your socializing and focus on Assembly because it's more important than all humans. Note that I capitalized the 'A' in the word 'Assembly' because Assembly rules. It eliminates the middle man, (any high level language). In addition you must have high discipline and a high tolerance for tedium. If you love playing games like CandyLand forget Assembly.
@0xbitbybit Жыл бұрын
Damn, that CMP/JMP stuff was so well explained, realizing it's just a SUB instruction essentially makes it and the following JMPs make so much more sense! Thank you!
@occamraiser Жыл бұрын
It is so funny watching this description of x86 Assembler as if it is one of the universe's major mysteries :) 35 years ago I was writing 8086 / 80186 / 80286 code in PLM and manually checking the intermediate (Assembler) output to make sure that the compiler was being efficient and that no multiplies had sneaked into the code. Now apparently the ability to write ASM286 would make me an international hacker...... how things have changed between my generation (Computer Science Degree) and new graduates (Software Development Degree) with their 'religious' views on OOP and encapsulation, method and properties - as if they were some form of alternative to knowing HOW a CPU fetches and executes a command and what the different fields in the binary representation of those commands actually do. Wish I hadn't moved into management 20 years ago - all those C++ programmers who could have been taught assembler, finite state machines, cyclic buffers, Interrupt handlers, real time control, cost of structures in clock cycles - in stead of all this bloatware relying on Moore's law to keep it viable. As we used to say in the olden days....'Flame off'
@stephen77154 жыл бұрын
This is literally one of the best instructional videos I have ever watched in my life period. Fantastic job
@jochedev7 жыл бұрын
I'm so glad I found this video... you just explained most of my college Assembly Language course in 10m... now I can do that project I procrastinated till the last possible moment ( it's due today ).
@QuasiELVIS7 жыл бұрын
So this video taught you how to program in assembly? lol, I don't think so.
@miksuko6 жыл бұрын
QuasiELVIS how did you laugh out loud?
@QuasiELVIS6 жыл бұрын
You know perfectly well I didn't literally laugh out loud - it's a convenient way to expressive derisive sarcasm on the internet as appropriate for this stupid comment.
@nickt62016 жыл бұрын
Hater alert
@samwansitdabet66306 жыл бұрын
He thinks he's being smart But he's just an asshole
@tielessin3 жыл бұрын
That was quite a lot of information in a very short time for someone who didn't know anything about x86 architecture before, but I really appreciate you for not bullshitting around. I'll come back to this video once I have read a bit up on those 20 new terms 😄 Thank you for your Video 🙏
@tehf00n6 жыл бұрын
I've been coding for 20 years. Recently I was considering adding conditional breakpoints to an app I use. I knew it was going to get messy so I figure a bit of information about how Assembly works might motivate me. I tell you what, this video damn sure made me motivated. Excellent work.
@TheLionheartCenter4 жыл бұрын
There's such a lack of instructional videos on assembly language and this was so helpful
@klausvonshnytke7 жыл бұрын
Hi, is that it? no more videos? I liked what you showed and how you presented it. great potential and interesting topic.
@hehhehdummy7 жыл бұрын
Annnnnnd just about everything I was confused about was clarified in 10 min. Thank you! I was disappointed to not see anymore uploads. The video made it seem like there was a series. :[
@robinsamuelthomas94566 жыл бұрын
My Brain started hurting at 4:40.... I will take pauses and Notes to understand better... !! Really nice exemplary Video !!
@SiyuJiang6 жыл бұрын
Subtle point: the EIP does *not* point to the instruction currently being executed, as mentioned at around 8:30. It points to the *next* instruction which is to be fetched from memory.
@SiyuJiang6 жыл бұрын
Also, there is not a single flag in the processor that is set by CMP as mentioned at around 8:50. Two flags (namely, the Z [zero] and CY [carry]) are set by this operation, and the jump instructions check these flags.
@WarrenGarabrandt7 жыл бұрын
Oh man! You can't leave someone hanging like that! You barely scratched the surface, and I want more! Go ahead and make that second part of this; and I'm sure we'll all watch it.
@alvaropuerta52838 ай бұрын
This video is so good. Thank you.
@human-beingАй бұрын
Thanks a lot man, this video is came to be my foundational video on assembly even after digging through a lots of stuff. Your contribution shall be remembered by me. May Allah bless you.
@decompiler77266 жыл бұрын
This video enhanced my understanding of x86 assembly far beyond anything that I have encountered before and since. Excellent material.
@zokm8165 Жыл бұрын
Normally i watch at 2x speed cause videos go to slow. Here i needed to rewatch parts to try and keep up. nicely done.
@patrickboyd83685 жыл бұрын
The connection between jump instructions and how we define "Turing Completeness" (operability locating memory/instructions) just clicked a little better in my brain....awesome
@MrKushinator4207 жыл бұрын
This was about equivalent to 4 lectures, in 10 minutes. Thanks for the review
@meilinliu67742 жыл бұрын
The best video explaining registers on KZbin. Thank you so much!
@universalponcho3 жыл бұрын
This was really well done. This is probably one of the best I have come across and it's now 2021.
@RachayitaGiri6 жыл бұрын
Finally! One video at the perfect pace with the perfect amount of information!
@lukmanalghdamsi31892 жыл бұрын
in 10 you explained what my professor couldn't in 2 hour! absolute legend!
@niklyons40076 жыл бұрын
Thank you so much for this tutorial. In my opinion you do *not* speak too fast. It is after all, a crash course- not a slow float to the ebp. Extremely helpful and thorough with plenty of room for fresh rabbit holes to fall down (like heap!) Many thanks, and I look forward to checking out more!
@justinsimard32673 жыл бұрын
The quality of this video is just outstanding
@petepoot64422 жыл бұрын
holy crab, how good of a teacher can one person be!! this 10 minutes crash course packed more info than i got in a full semester in college, all while being clear and understandable!! i love it.
@johnjacobs31025 жыл бұрын
Thanks so much. I'm taking the OSCP course and I'm on buffer overflows trying to comprehend how shell code is injected and executed and this is the only video I could find that actually helped me understand how the stack works.
@theblogger8003 жыл бұрын
Wow! What a gem you are! I am sure this guys is an ET in the form of a human who came down to earth to us Assembly. God or whatever deity you may have in your planet keep you blessed.
@zeroxx1317 жыл бұрын
Wow! Beautifully done. If you don't teach for a living you should. You were straight forward and to the point. Every sentence had a purpose with no junk we didn't need to know. Subscribed!
@Life4YourGames7 жыл бұрын
Holy shit, you were right about the amount of information but your explanation pace and clarity makes it very easy to follow. Good work!
@coledelong4276 жыл бұрын
Sorry, pls go slower, my brain runs at only 1.618 GHZ
@samyuj5 жыл бұрын
speed 0.5x
@clock48835 жыл бұрын
I like what you did there.
@motherofallemails5 жыл бұрын
Exactly! I just can't understand why people race through technical material as fast as they can as if people should be able to keep up. it's just ridiculous. I'm out of here.
@ohwow20745 жыл бұрын
Mine is 1.2 GHz😶
@jz59375 жыл бұрын
He might’ve just been trying to cram a lot of info into a small space of time. Either that, or to make everyone new to this feel stupid (he succeeded with me). I’m gonna assume the former. I’m new to this, I’ve taken programming classes I. the past and done well (though I hated them). However this is tough to follow at the speed he presents it at. Well, a challenge to the mind is always a cool thing, and I’m horribly weak in this area. I hate this crap. That’s why I should learn it.
@thepianomatro6 ай бұрын
This crash course is literal gold. I tip my hat to you sir
@idounnowatuwant4 жыл бұрын
I can say without a doubt this is one of the best videos I've ever seen on youtube.
@sidkbsri39972 жыл бұрын
Phenomenal video concisely explaining x86, much needed for an exam I have next week.
@imfromheII887 жыл бұрын
For coming off of MIPS and trying to learn x86, this video is REALLY GOOD.
@DanipBlog5 жыл бұрын
Dude, you are unbelievable good and explaining!! Do not stop what you are doing, you're contributing to society more than you realize!
@GamingBlake20024 жыл бұрын
"Hi! My name is Jericho and I'll be leading you on your journey through binary exploitation!" *Doesn't upload for 4 more years*
@abdarafi4 жыл бұрын
Lol
@makewayforsucess4 жыл бұрын
@@abdarafi I think this was enough for 4 years tbh xD
@suryanshdaspatnaik34744 жыл бұрын
@@makewayforsucess yea Xd assembly is difficult...(but you can understand MS DOS's source code if you know it..)
@ismahenelarbi73864 жыл бұрын
he must be an intp
@sergioropo30194 жыл бұрын
I think he gave everything he's got in one go. I thank him anyway.
@lostangelesam88313 жыл бұрын
I get genuinely excited watching this guy get stoked on these principles EPIC explanation!!
@samisiddiqi78146 жыл бұрын
I love this video. You understood what you were teaching and you didn't waste your words and neither did you leave abstract concepts undefined. Well done !!! 👍👍👍
@rwpage896 жыл бұрын
I just learned more in 10 minutes here than an entire semester of assembly in college... great work thanks for the help
@gowgearhead4 жыл бұрын
You are a life saver. Thank you for uploading this video!
@ThefamousMrcroissant5 жыл бұрын
So much info cramped in such a short video - and despite that you managed to explain everything clearly. That's talent right there
@MooseC00kie4 жыл бұрын
This is the best explenation I have heard so far! A little bit fast sometimes but soooo comprehensive! So glad you didnt just name push, pop and prologue/epilogue but also went for lea, cmp, jmp & flag!
@aceflamez008 жыл бұрын
WHERE HAVE YOU BEEN ALL MY LIFE
@jzpatelut7 жыл бұрын
Well No one wait for none in this COmputer world...!!!!!..jzppatelut...
@gauravarya89525 жыл бұрын
He was hiding in Greenland.
@ariesduke20477 жыл бұрын
This channel is gold already
@kaanturkmen49665 жыл бұрын
This was the best video on assembly I've seen so far
@duylekhac60446 жыл бұрын
One of the best tutorial video I have ever seen! Concise, informative, easy to understand! Very good work
@aTewfik6 жыл бұрын
Oh my god, I have been searching like hell for a video like this. Now I can do my lab. THANK YOU!
@pianistaalex19907 жыл бұрын
Man I can't thank you enough for this video, it's so sad that you never got to make another one explaining how to overflow a buffer, stack protection and so on. Great work on this one, hope you can make another one eventually.
@elgs19806 жыл бұрын
What I was wondering when watching this video was how many of these things had happened in order for my computer to play this video.
@xanderkay3156 жыл бұрын
Thanks for making this! I have an Assembly class this quarter and this is really helping me get ahead of the curve.
@jimmy0005 жыл бұрын
Really good and concise video with no waffling, great job and keep up the good work.
@TheSakanax7 жыл бұрын
Awesome video! I've read chapters in books that didn't explain as much as you did in 10 minutes! Answered a lot of questions I used to have. Thanks!
@yatharthsoni54286 жыл бұрын
THANKS ALOT BUDDY!! CERTAINLY MORE USEFUL THAN WHAT I LITERALLY DID IN THE 2ND YEAR COMPUTER SCIENCE CLASSES
@markopesevski7 жыл бұрын
Maaaaan this video is great! Keep them coming if you have time.
@ricardo.mazeto8 жыл бұрын
MOAR!
@helperfunction49816 жыл бұрын
This was a good video to refresh my rusty asm knowledge. One advice I would give to people who are completely new to this is to make sure they have at least a rough idea how cpu and memory work. A really good and simple book for that purpose is called "But how do it know", and if you don't have the money to buy it you can torrent it (I don't promote piracy but if you live in a 3rd world and/or are poor you should have free access to education)
@roygalaasen5 жыл бұрын
Wow! Such a great summary of assembly language, a great refresher! Sadly it is three years old and you never made any more videos. This was a great promising start for a new interesting channel, although a niche topic for most. I thoroughly enjoyed the way you explained. Great video!
@HarishKumar-pi2nb3 жыл бұрын
My 11 minutes was very usefully spent. Thank You!!
@Mi10s897 жыл бұрын
Best tutorial I have ever seen on this subject. Keep it that way.
@stefankoren33037 жыл бұрын
You saved my ass. Have an exam tomorrow and was already to give up on that chapter. No I have the understanding it takes. Thank You!
@bibekkoirala88026 жыл бұрын
Best thing watched on KZbin today. Fuck 3 months of uni's class.
@alexrosellverges83456 жыл бұрын
Fuking awesome, computes are absolutely awesome, thanks!
@imafirinmalaser7 жыл бұрын
where are the rest of your videos bro?? this was great!
@ImGuti5 жыл бұрын
Seriously, where are they?
@astrix88124 жыл бұрын
@@ImGuti where are they?
@odorlessflavorless4 жыл бұрын
@@astrix8812 Where are they?
@hscowef46624 жыл бұрын
Ananta Kr. Roy where are they?
@nonasuomynona17344 жыл бұрын
@@ImGuti yesterday are they.
@RajarshiBandopadhyay6 жыл бұрын
This was an amazing video... please continue to make more of these.
@TomokoAbe_6 жыл бұрын
I love assembly. It's the only computer language I enjoy doing. The precise control is amazing. You can even manipulate the size of the sound waves.
@joeyhensley91995 жыл бұрын
Pseudo Code: (When counter =3, do something) Counter =0+1 ... Hex edit, counter=0+0. something simple like clearing the screen after 2 failed prompts. Small scale, baby steps to get your bearings.
@CP-hd5cj7 жыл бұрын
Great video. You managed to condense everything I needed to know into 10 minutes, and still made it easily absorbable.
@andrewkaster40337 жыл бұрын
You said that global and static variables are stored on the heap. This is strictly not true for C programs. global and static variables are in the .data segment of the executable. The heap is only for dynamically allocated variables.
@DJ_POOP_IT_OUT_FEAT_LIL_WiiWii7 жыл бұрын
This is also the case for hand written ASM. I think an introduction about data / code segments and entry point would have been preferable to the C preamble. Anyway the presentation was high quality.
@jardel_lucca6 жыл бұрын
Came here to comment the same. And the data segment does not change in size. So it's not part of a "heap" even in a general/loose definition of heap.
@rockapedra11306 жыл бұрын
Oops ... didn’t see this so said same thing in another comment. “Heap” is a block of memory that is the play area of malloc and friends. Globals and statics go in a separate block of memory.
@ferna22947 жыл бұрын
You are underrated mate. Suscribed. This is GOLD.
@jingz.96847 жыл бұрын
One of the best tutorial for starting, love the bg music, life saver!
@David-mv4dy7 жыл бұрын
I know it's supposed to be a video about assembly, but this was a great explanation on how memory works!
@blanchet28526 жыл бұрын
wow thank you, i love you, will probably (definitely) rewatch!
@TheCrazyposter6 жыл бұрын
great video man! although your going fast, you explained everything in a clear manner. I wish our University had tutors like you available for assembly programming.
@KamranMohsin0087 жыл бұрын
This is an awesome lecture I ever witnessed. Thanks man
@veronicamontilla22882 жыл бұрын
went through when I first started video editing, now it's taking a whole new switch and learning soft will only boost my courage for the
7 жыл бұрын
Awesome work! Looking forward to seeing more of your videos on this topic.
@jamesrosemary29325 жыл бұрын
Awesome!. I needed to remember ASM and this video was a kind of flashback to me.
@Omnifarious07 жыл бұрын
While I think this is useful information, a couple of small tweaks would help this be a lot more generally useful. For example, mentioning that there are more platforms for assembly and that the 0-2 argument thing is x86 only would be useful. You don't have to say anything else, but, with just a small added phrase, you've just told people one of the flex points of assembly in general, and better prepared them to deal with something other than x86 assembly should they so choose. Also, sub and cmp both set the flag. You make it sound as if sub does subtraction while cmp sets the flags. They both set flags, but cmp doesn't actually do the subtraction.
@nandfednu35026 жыл бұрын
well it's a crash course so I think it was conceptual with the understanding you don't think you know everything just because you watched it? As I am in the middle of teaching myself some python and debating hacking my html/css/javascript editor to flag that syntax as well a brief 10 minutes about assembly so I can decide if I am going to start using OllyDbg is far more useful than giving me AnoTheR framework I end up researching... /you didnt say this but someone was griping that he started out explaining compilers because I believe (and this comes in here because maybe it is what you are missing too?) the video is written from the perspective of someone with plenty of computer sci and maybe even engineering to the point that it is easiest to understand from the perspective of machine language or perhaps that is a consequence of Assembly's purpose? /it'd just be confusing to know processor architecture/machine language, human readable programming as it is today (many lack compilers because they depend on compiled environments) and then understand that assembly is breaking apart stack instructions- "like, wtf- which of the humans talks TO the machine?!" but that is just my hunch on this glorious video I don't think needs the hate....
@yugen0422 жыл бұрын
This is incredibly well made. Thank you so much!
@enochmtz5 жыл бұрын
Hey, I hope you keep making this videos, you're an awesome teacher, please I'm waiting for more
@JustLookA77 жыл бұрын
The only video in this channel? Come on!. This is good content!
@RacecarsAndRicefish6 жыл бұрын
awesome, now I just need to see a couple more of these and I'll be caught up on what we learned in lecture this week
@nishadsaraf91077 жыл бұрын
Very informative! Waiting to learn more from your upcoming videos. Thank you.
@florinturcanu71095 жыл бұрын
man thanks, you seriously helped me a lot, this finally explains everything very clear, respect for this
@bzhell45446 жыл бұрын
highly recommend this video to new starters fxxked up with assembly analysis
@WarrenMarshallBiz6 жыл бұрын
Absolutely brilliant, thanks so much!
@davidshamay28986 жыл бұрын
please keep going to upload more videos this is very helpful i wish all the internet was with tutorials like this
@club6525 Жыл бұрын
In essence, C files (text files with a special extension) are translated by the compiler into sequences of operations to run by the computer. Each operation is comprised of a sequence of bytes referred to as an operation code or opcode for short. Thousands of thousands of opcodes are used by each application which makes it essentially impossible to be understood simply by direct reading. For this purpose, assembly is used as a human-readable in-between language.
@laurenzv56824 жыл бұрын
Dude this is so well made... You really earn more subs!
@mathssoso42616 жыл бұрын
I like videos like this when the speaker speaks quickly so that you won't fall asleep