This is 1000 of google searches simplified and compressed to 11 minutes. Thank you!
@sp3ct3r71
3 жыл бұрын
damn yes🔥🔥
@Brahvim
Жыл бұрын
Exactly! This is exactly what it felt like for me! ...moreover, he explained VERY well!
@thediesel3336
Жыл бұрын
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
@piiumlkj6497
6 жыл бұрын
If you can read assembly everything is Open Source !
@obinator9065
6 жыл бұрын
Yeah well, if you like to read through 10 times the loc's of the original project in a particular language ;D
@Engineer9736
5 жыл бұрын
And if you can bruteforce a 512 bit encryption key by looking at it then all doors are open. Pretty much the same statement.
@hereb4theend
5 жыл бұрын
When I look at instruction sets all I see is redheads, brunettes and blondes 😜
@TheDailyMemesShow
5 жыл бұрын
@@hereb4theend Nice try, Cypher! 😂
@XadaTen
5 жыл бұрын
@@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
@cepi24
8 жыл бұрын
Holly crap! this was more useful than whole semester on my university. Please keep doing those videos. Thank you very much.
@heatxtm
7 жыл бұрын
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
@keithotinya3210
7 жыл бұрын
that was way more informative than my whole semester......true story...
@QuasiELVIS
7 жыл бұрын
If you guys are doing computer science and you haven't covered all this yet then you must be in your first year.
@jae5577
6 жыл бұрын
Absolutely Bud.
@strawberryrain8847
6 жыл бұрын
eh you probably did not go through a good class i should say? check out something i did pre-university (10th grade) nand2tetris.org.....
@chris0234
4 жыл бұрын
the only video I ever watched at 0.75x. Absolutely fantastic. (80% of explainer videos have to be watched at 1.5x)
@DL_GLCH
3 жыл бұрын
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.
@pedromatias5927
2 жыл бұрын
KZitem needs a way to store comments!
@bailey125
2 жыл бұрын
@@pedromatias5927 copy paste into notepad++
@maxmuster7003
2 жыл бұрын
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.
@maxmuster7003
2 жыл бұрын
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.
@maxmuster7003
2 жыл бұрын
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.
@4.0.4
7 жыл бұрын
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.
@dedballoons
6 жыл бұрын
Did that dude just check back at his notes in the first 3 seconds to remember his name? I fucking love this dude already.
@TEXASF1ERCE
4 жыл бұрын
Lmao I wish he would've continued this serious though. Very easy to understand and straight to the point.
@varunpawar
6 ай бұрын
😂 gave me a laugh , thanks for pointing.
@Blowyourspot747
8 жыл бұрын
I love you so much for this I wanna cry
@_nit
8 жыл бұрын
Fantastic and coherent explanation. You earned yourself a sub. This might be the quickest/clearest explanation of the basics of how x86 works.
@kentatakao6863
7 жыл бұрын
Essentially the same explanation I've read on multiple websites and heard in multiple KZitem videos, yet just as vague and unsatisfactory.
@dannygjk
7 жыл бұрын
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.
@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'
@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!
@klausvonshnytke
7 жыл бұрын
Hi, is that it? no more videos? I liked what you showed and how you presented it. great potential and interesting topic.
@WarrenGarabrandt
7 жыл бұрын
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.
@tielessin
3 жыл бұрын
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 🙏
@jochedev
7 жыл бұрын
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 ).
@QuasiELVIS
7 жыл бұрын
So this video taught you how to program in assembly? lol, I don't think so.
@miksuko
6 жыл бұрын
QuasiELVIS how did you laugh out loud?
@QuasiELVIS
6 жыл бұрын
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.
@nickt6201
6 жыл бұрын
Hater alert
@samwansitdabet6630
6 жыл бұрын
He thinks he's being smart But he's just an asshole
@tehf00n
5 жыл бұрын
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.
@stephen7715
4 жыл бұрын
This is literally one of the best instructional videos I have ever watched in my life period. Fantastic job
@TheLionheartCenter
4 жыл бұрын
There's such a lack of instructional videos on assembly language and this was so helpful
@hehhehdummy
7 жыл бұрын
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. :[
@GamingBlake2002
4 жыл бұрын
"Hi! My name is Jericho and I'll be leading you on your journey through binary exploitation!" *Doesn't upload for 4 more years*
@abdarafi
4 жыл бұрын
Lol
@makewayforsucess
4 жыл бұрын
@@abdarafi I think this was enough for 4 years tbh xD
@suryanshdaspatnaik3474
4 жыл бұрын
@@makewayforsucess yea Xd assembly is difficult...(but you can understand MS DOS's source code if you know it..)
@ismahenelarbi7386
4 жыл бұрын
he must be an intp
@sergioropo3019
4 жыл бұрын
I think he gave everything he's got in one go. I thank him anyway.
@imafirinmalaser
7 жыл бұрын
where are the rest of your videos bro?? this was great!
@ImGuti
5 жыл бұрын
Seriously, where are they?
@astrix8812
4 жыл бұрын
@@ImGuti where are they?
@odorlessflavorless
4 жыл бұрын
@@astrix8812 Where are they?
@hscowef4662
4 жыл бұрын
Ananta Kr. Roy where are they?
@nonasuomynona1734
4 жыл бұрын
@@ImGuti yesterday are they.
@universalponcho
2 жыл бұрын
This was really well done. This is probably one of the best I have come across and it's now 2021.
@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.
@patrickboyd8368
5 жыл бұрын
The connection between jump instructions and how we define "Turing Completeness" (operability locating memory/instructions) just clicked a little better in my brain....awesome
@johnjacobs3102
5 жыл бұрын
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.
@decompiler7726
6 жыл бұрын
This video enhanced my understanding of x86 assembly far beyond anything that I have encountered before and since. Excellent material.
@RachayitaGiri
6 жыл бұрын
Finally! One video at the perfect pace with the perfect amount of information!
@konstantinrebrov675
5 жыл бұрын
Great lecture, but there is a small error here. Global variables and static variables are not stored in the heap. And they're not stored in the stack either. They are either stored in the data or the bss. If these variables are uninitialized or explicitly initialized to 0, they're stored in the bss. And everything in the bss is initialized to 0, it is zeroed out, so global and static variables that are uninitialized are set to 0. However global and static variables that are explicitly initialized to a value other than 0 are stored in the data segment, not the bss. Both the data and the bss segments are together what is commonly referred to as the "global variables section in memory." And static variables are global in the sense that their lifetime is for the whole execution time of the program. By the way, anything, any variables or data structures that you store in the heap, you have to explicitly deallocate/free unless you have smart pointers or garbage collection. When creating a global or static variable, you don't have to call new, malloc, calloc, or anything like that, any function which allocates you space in the heap. Think about that. You don't need to free them either. The bss and the data segment are simpler than the heap. Basically it's just a place to store variables that are just there. These are the global and static variables.
@konstantinrebrov675
5 жыл бұрын
Actually the data segment and the bss segment are basically the same thing, except that global and static variables that are set to 0 (or uninitialized) are in the bss, and the data segment has variables with other values. The data segment and the bss segment are in fact laid out side by side in memory.
@veronicamontilla2288
2 жыл бұрын
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
@andrewkaster4033
7 жыл бұрын
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_WiiWii
7 жыл бұрын
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_lucca
6 жыл бұрын
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.
@rockapedra1130
6 жыл бұрын
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.
@DanipBlog
5 жыл бұрын
Dude, you are unbelievable good and explaining!! Do not stop what you are doing, you're contributing to society more than you realize!
@bibekkoirala8802
5 жыл бұрын
Best thing watched on KZitem today. Fuck 3 months of uni's class.
@meilinliu6774
2 жыл бұрын
The best video explaining registers on KZitem. Thank you so much!
@elgs1980
6 жыл бұрын
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.
@MrKushinator420
6 жыл бұрын
This was about equivalent to 4 lectures, in 10 minutes. Thanks for the review
@niklyons4007
6 жыл бұрын
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!
@thepianomatro
4 ай бұрын
This crash course is literal gold. I tip my hat to you sir
@theblogger800
3 жыл бұрын
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.
@Life4YourGames
7 жыл бұрын
Holy shit, you were right about the amount of information but your explanation pace and clarity makes it very easy to follow. Good work!
@user-eo5bh2zg2
7 жыл бұрын
me: *programmed for 11 hours today* me: time for a break Jericho: "Hi, my name is Jericho!" me: "Hi Jericho"
@jakeguard9099
6 жыл бұрын
?
@vertigo6982
5 жыл бұрын
Hey.. not all comments have to make any sense whatsoever.
@AAA-bo1uo
5 жыл бұрын
Vertigo Studios , What he is saying is: After 11 hours of programming he took a break by watching a video on how to program or how the programming language works. This either means programmig is his cup of tea or it is everywhere surroundinf him and suffocating him... Or just simply a remark on the irony there.
@Engineer9736
5 жыл бұрын
Being so proud of your programming hobby is so cringy. If you want to program 11 hours then go for it but don’t go act like you’re a miracle by doing it.
@hirayui
5 жыл бұрын
Richard van Pukkem was it not cringy enough to keep you from commenting about how cringe it is?
@petepoot6442
2 жыл бұрын
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.
@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.
@lukmanalghdamsi3189
2 жыл бұрын
in 10 you explained what my professor couldn't in 2 hour! absolute legend!
@MooseC00kie
4 жыл бұрын
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!
@bzhell4544
5 жыл бұрын
highly recommend this video to new starters fxxked up with assembly analysis
@zeroxx131
7 жыл бұрын
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!
@markteague8889
5 жыл бұрын
Should probably mention that the “e” prefix on the register names refer to the fact that they are the 32-bit “extended” versions of those registers as they existed on the original 16-bit 8086 architecture. When operating in 64-bit mode those same registers are prefixed with “r.”. Also, part of the reason that the 8086 architecture is so kludgy is that it was originally designed to execute code generated by Pascal compilers and not C compilers. Not entirely sure about all the differences between the structure of code generated by C compilers vs. Pascal compilers. Some other idiosyncracies with which it might be good to be aware ... in 16-bit mode (maybe not so relevant today) the register set is very definitely NOT general and the instruction set is NOT orthogonal. Certain registers have specific dedicated purposes. For instance, the CX register is dedicated as a loop counter. A multiply operation takes 2 16-bit operands and places the 32-bit result in the combination of 2 registers. I believe the 386 removed some of these limitations and made both the register set more general and the instruction set more orthogonal. I’ve never really done any 64-bit assembler programming on the x86/x64 family, so I can’t comment about much in the way of differences introduced by AMD with the Opteron line of processors whose architecture became the de facto 64-bit standard.
@samisiddiqi7814
6 жыл бұрын
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 !!! 👍👍👍
@ThefamousMrcroissant
4 жыл бұрын
So much info cramped in such a short video - and despite that you managed to explain everything clearly. That's talent right there
@lostangelesam8831
3 жыл бұрын
I get genuinely excited watching this guy get stoked on these principles EPIC explanation!!
@alvaropuerta5283
6 ай бұрын
This video is so good. Thank you.
@imfromheII88
7 жыл бұрын
For coming off of MIPS and trying to learn x86, this video is REALLY GOOD.
@aTewfik
6 жыл бұрын
Oh my god, I have been searching like hell for a video like this. Now I can do my lab. THANK YOU!
@pianistaalex1990
7 жыл бұрын
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.
@duylekhac6044
6 жыл бұрын
One of the best tutorial video I have ever seen! Concise, informative, easy to understand! Very good work
@xanderkay315
6 жыл бұрын
Thanks for making this! I have an Assembly class this quarter and this is really helping me get ahead of the curve.
@sidkbsri3997
2 жыл бұрын
Phenomenal video concisely explaining x86, much needed for an exam I have next week.
@coledelong427
5 жыл бұрын
Sorry, pls go slower, my brain runs at only 1.618 GHZ
@samyuj
5 жыл бұрын
speed 0.5x
@clock4883
5 жыл бұрын
I like what you did there.
@motherofallemails
4 жыл бұрын
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.
@ohwow2074
4 жыл бұрын
Mine is 1.2 GHz😶
@jz5937
4 жыл бұрын
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.
@TheSakanax
7 жыл бұрын
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!
@TheCrazyposter
5 жыл бұрын
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.
@dommafia
7 жыл бұрын
So sad to find this video so late in life and even sadder this is the only video uploaded to this channel. Sub'ing either way just in case.
@roygalaasen
4 жыл бұрын
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!
@idounnowatuwant
4 жыл бұрын
I can say without a doubt this is one of the best videos I've ever seen on youtube.
@jamesrosemary2932
5 жыл бұрын
Awesome!. I needed to remember ASM and this video was a kind of flashback to me.
@jimmy000
5 жыл бұрын
Really good and concise video with no waffling, great job and keep up the good work.
@David-mv4dy
7 жыл бұрын
I know it's supposed to be a video about assembly, but this was a great explanation on how memory works!
@gowgearhead
4 жыл бұрын
You are a life saver. Thank you for uploading this video!
@markopesevski
7 жыл бұрын
Maaaaan this video is great! Keep them coming if you have time.
@DanielRamBeats
7 жыл бұрын
please make more videos, I been trying to learn this stuff for a long time. I'd even pay!
@phoenix2464
7 жыл бұрын
tutorialspoint.com is your friend
@aceflamez00
8 жыл бұрын
WHERE HAVE YOU BEEN ALL MY LIFE
@jzpatelut
7 жыл бұрын
Well No one wait for none in this COmputer world...!!!!!..jzppatelut...
@gauravarya8952
4 жыл бұрын
He was hiding in Greenland.
@davidprock904
4 жыл бұрын
I'm designing a CPU/computer architecture from the ground up that is completely different from anything today. My assembly is also going to extremely different. My hardware and language are being made with each other in mind, made at same time. I would like your input on a few thoughts. Also I have a question at the moment. With current assembly(s) when converted to binary... when processing a complicated math formula/process. On average how many bytes apart would the values/addresses be. I'm thinking directly one after the other. I don't know much about current assembly. Tried to learn it in the past. By the way. What I am developing is going to be way easier to write in. And more powerful, partly as in a super easy way to branch off a new hardware thread. And extremely easy to manage
@ricardo.mazeto
8 жыл бұрын
MOAR!
@club6525
10 ай бұрын
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.
@joeyhensley9199
5 жыл бұрын
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.
@jingz.9684
7 жыл бұрын
One of the best tutorial for starting, love the bg music, life saver!
@CP-hd5cj
7 жыл бұрын
Great video. You managed to condense everything I needed to know into 10 minutes, and still made it easily absorbable.
@rwpage89
6 жыл бұрын
I just learned more in 10 minutes here than an entire semester of assembly in college... great work thanks for the help
@Omnifarious0
7 жыл бұрын
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.
@nandfednu3502
6 жыл бұрын
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....
@justinsimard3267
3 жыл бұрын
The quality of this video is just outstanding
@yatharthsoni5428
5 жыл бұрын
THANKS ALOT BUDDY!! CERTAINLY MORE USEFUL THAN WHAT I LITERALLY DID IN THE 2ND YEAR COMPUTER SCIENCE CLASSES
@RajarshiBandopadhyay
6 жыл бұрын
This was an amazing video... please continue to make more of these.
@Adonis-fz2tk
2 жыл бұрын
Dammnn son, you really do come in clutch when needed.
@ariesduke2047
7 жыл бұрын
This channel is gold already
@enochmtz
5 жыл бұрын
Hey, I hope you keep making this videos, you're an awesome teacher, please I'm waiting for more
@PureASM-ShellCoder
6 жыл бұрын
Awesome video ! Make more of these... !
@kaanturkmen4966
4 жыл бұрын
This was the best video on assembly I've seen so far
@alexrosellverges8345
6 жыл бұрын
Fuking awesome, computes are absolutely awesome, thanks!
@NKernytskyy
3 жыл бұрын
Amazingly clear explanation!
@ferna2294
7 жыл бұрын
You are underrated mate. Suscribed. This is GOLD.
@Mi10s89
7 жыл бұрын
Best tutorial I have ever seen on this subject. Keep it that way.
@infinitedonuts
2 жыл бұрын
This was a very helpful and informative video. Thanks!
@HarishKumar-pi2nb
3 жыл бұрын
My 11 minutes was very usefully spent. Thank You!!
@MagicAndReason
7 жыл бұрын
I really like this video. I think your writing is great. If you are cool with some unsolicited advice, I'd spruce up the graphics. I'd also lose the background music. But yes, excellent writing. Thanks!
@RacecarsAndRicefish
6 жыл бұрын
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
@stefankoren3303
7 жыл бұрын
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!
@sudajared
2 жыл бұрын
Very well explained in a short concise video
@ej12341232
5 жыл бұрын
Great job! Please post more videos
@blanchet2852
5 жыл бұрын
wow thank you, i love you, will probably (definitely) rewatch!
@KamranMohsin008
7 жыл бұрын
This is an awesome lecture I ever witnessed. Thanks man
@adriandeveraaa
7 жыл бұрын
Thank you for summarizing a whole class, i remember a good portion now to revisit sample problems (:
Пікірлер: 784