This tutorial is great, only a real programmer brain can understand this video is gold I have a student project in which I should code some functions using NASM I have now the basics to experiment myself Thank you a lot
00:10 Basics of x86 NASM Assembly 02:41 Keeping track of data conversions and representations is crucial in NASM Assembly 08:15 Understanding x86 NASM Assembly basics 10:46 General purpose registers in x86 NASM Assembly 15:29 Explaining data manipulation and bitwise operations in x86 NASM Assembly 17:48 NASM assembly instructions for arithmetic operations and testing 22:39 Flags in x86 NASM Assembly 25:07 Explaining conditional jumps and their variations in x86 NASM Assembly 29:44 Understanding the return and compare operations in NASM Assembly 31:49 Compare and conditional jump sequencing 36:30 Shift, rotate, and masking operations are important in x86 NASM Assembly. 39:12 Using a mask to extract specific data from a register. 43:47 Interrupt handling and kernel calls in x86 Assembly 45:49 Exiting a program and return values in x86 NASM Assembly 50:39 Defining and initializing data sections in x86 NASM Assembly 53:13 Introduction to x86 NASM Assembly basics 58:26 Using different variables in assembly programming is recommended. 1:00:41 Explaining If Statements and For Loops in Assembly and C 1:05:29 Converting numbers to ASCII for readability 1:07:57 Incrementing loop variables in x86 NASM Assembly 1:12:52 Functions in C use registers for inputs or stack for modern functions 1:15:13 Exploring NASM assembly for variable declaration and function call 1:20:10 Working with the stack in x86 NASM Assembly 1:22:05 Saving and managing values using stack in x86 NASM Assembly 1:26:42 Explaining how to access a pointer in NASM Assembly 1:29:05 UA-cam channel for additional resources Crafted by Merlin AI.
Having coded a lot on the 6502/6510 in the 80's I've been able to follow this excellent intro, but you should have explained how ML actually works in the cpu for people with no knowledge. For instance give examples with real RAM addresses instead of labelling, use a monitor step by step, etc. Enjoyed it thank you 🤙
Thank you very much for posting such a useful video! All the moments were explained with pretty much details! And I liked your soft and pleasant voice :)
For a "crash course," this doesn't really "crash," but crawls. One thing: if you're going to use C as your higher-level example language, spend some time familiarizing yourself with it, instead of writing lines that will make those who have experience in C yell at their monitor. It scares the dogs. (Such as @55:33, when you slipped into JavaScript in your "if" statement.)
Should actually compile your code examples to make sure they work or your causing lots of confusion for the people who are starting from scratch. IE in your loop example you need a memory address to store x in and mov your value to so you can pass the address that the syswrite function is looking for.
I am a beginner ,the 8086 microprocessor we have studied have 16 bits and i don't understand is he in another version of 8086 or we didn't studied the general purpose of registers . So am confused should i continue with him or i should look on an other source 🤔
Found this... maybe you have a similar system... cssimplified.com/computer-organisation-and-assembly-language-programming/an-assembly-program-in-which-a-procedure-converts-hexadecimal-value-to-print-its-decimal-form-on-screen
04:00 "Constant variables" - what an oxymoron… 05:22 DAFUQ is that? :o That's not C. That's not even wrong -_- 06:10 ………I don't even know how to comment this……… But that's the end of this video for me.
We'll wait on your video bob. Let us know when you publish it. Since you know how to make these videos so well I anticipate something well done and organized.
@@BitwiseMobile I teach live people, live. No editing. No complaints. Plenty of "I never knew that could be done. Thank you." Constructive criticism is good.
@@cheetah_5314 okay. Here, in the comments section, I will teach (NOT give) how to coda machina... Step (1) Read a book. Step (2) Read more books. Step (3) Keep reading books until your teacher asks you to explain how you machine-coded your planetarium program, and then give a demonstration to the class (because he can't) - at the age of 15. Step (4) Read more books and write a back-end to a User Interface that quadruples your efficiency (speed plus accuracy) over dozens of "expert" colleagues (at age 19 years). Step (5) Read more books until you solve a decade-old design flaw that catapults your product line to the highest in sales domestically and internationally (and gets you a hand shake from the original designer), then teach a scientist for a space agency how to code, over the phone, three hours a day for three months, then code for an aerospace engineer who needed a help to get past writers block (to eventually launch). Step (6) allow yourself to constructively criticize someone on UA-cam who is trying, but could do much better (and will) with a couple pointers. Step (7) have no sympathy for snarky trolls of the inturdnet. Now, write your Hello, World! in vi and stfu. To think that I was forced to take a typing class to graduate high school, when I already coded over 60 wpm, and now reduced to thumbing soliloquies to trolls brings a tear to my good eye.
6:11 we didn't expect that 🤦🏿♂️🤣
i legit freaked out
bruh heart attack 💀
After "constant variables" and supposedly a C code in 05:22, I kinda expected it.
Best crash course of assembly, in-depth and easy to follow explanation, very much appreciated!
This tutorial is great, only a real programmer brain can understand this video is gold
I have a student project in which I should code some functions using NASM I have now the basics to experiment myself
Thank you a lot
This tutorial is amazing, goes over everything, really explains much better than a lot of others do! Thank you for this!
00:10 Basics of x86 NASM Assembly
02:41 Keeping track of data conversions and representations is crucial in NASM Assembly
08:15 Understanding x86 NASM Assembly basics
10:46 General purpose registers in x86 NASM Assembly
15:29 Explaining data manipulation and bitwise operations in x86 NASM Assembly
17:48 NASM assembly instructions for arithmetic operations and testing
22:39 Flags in x86 NASM Assembly
25:07 Explaining conditional jumps and their variations in x86 NASM Assembly
29:44 Understanding the return and compare operations in NASM Assembly
31:49 Compare and conditional jump sequencing
36:30 Shift, rotate, and masking operations are important in x86 NASM Assembly.
39:12 Using a mask to extract specific data from a register.
43:47 Interrupt handling and kernel calls in x86 Assembly
45:49 Exiting a program and return values in x86 NASM Assembly
50:39 Defining and initializing data sections in x86 NASM Assembly
53:13 Introduction to x86 NASM Assembly basics
58:26 Using different variables in assembly programming is recommended.
1:00:41 Explaining If Statements and For Loops in Assembly and C
1:05:29 Converting numbers to ASCII for readability
1:07:57 Incrementing loop variables in x86 NASM Assembly
1:12:52 Functions in C use registers for inputs or stack for modern functions
1:15:13 Exploring NASM assembly for variable declaration and function call
1:20:10 Working with the stack in x86 NASM Assembly
1:22:05 Saving and managing values using stack in x86 NASM Assembly
1:26:42 Explaining how to access a pointer in NASM Assembly
1:29:05 UA-cam channel for additional resources
Crafted by Merlin AI.
Having coded a lot on the 6502/6510 in the 80's I've been able to follow this excellent intro, but you should have explained how ML actually works in the cpu for people with no knowledge. For instance give examples with real RAM addresses instead of labelling, use a monitor step by step, etc. Enjoyed it thank you 🤙
thank you umbc, great vid
I found an oversight at 1:01:23 on line 173 (add edx, ecx). I guess it should be mov edx, ecx as it matches with c = b.
at 1:01:20 in line 173: i think the correct statement would be "mov edx, ecx", not "add edx, ecx", because in c is no add, only assign
Thank you very much for posting such a useful video! All the moments were explained with pretty much details! And I liked your soft and pleasant voice :)
For a "crash course," this doesn't really "crash," but crawls. One thing: if you're going to use C as your higher-level example language, spend some time familiarizing yourself with it, instead of writing lines that will make those who have experience in C yell at their monitor. It scares the dogs. (Such as @55:33, when you slipped into JavaScript in your "if" statement.)
Good intro to NASM, time to write a new boot sector game.
Java/C# dev identified. In c you write arrays as type name[] not type[] name
If he codes in Java/C# the same way he codes in assembly, I'm worried…
@@bonbonpony is there a better nasm crash course ?
I love it so much.... Where can I get the rest series
Thanks, this is a great overview
Very informative tutorial, thank you very much!
43:07 very important part explaining registers i.e, eax , ebx , ecx , edx ....
I like the pace of the speaker but the fonts are very small. I even tried using a high resolution LED TV.
great lessons. continue.
Amazing!
Should actually compile your code examples to make sure they work or your causing lots of confusion for the people who are starting from scratch.
IE in your loop example you need a memory address to store x in and mov your value to so you can pass the address that the syswrite function is looking for.
"A blind leads the blind" should be the title of this video.
thanks a lot man, appreciate the video
nice intro t assembly language , though the programs i tried myself dont actually work
Thank you so much!!!
Your C uninitialized variable example is just exceptional man
dude thank you soo much for this
I am a beginner ,the 8086 microprocessor we have studied have 16 bits and i don't understand is he in another version of 8086 or we didn't studied the general purpose of registers .
So am confused should i continue with him or i should look on an other source 🤔
Do you have a tutorial demonstrating the process of setting up NASM on a windows machine?
Thanks :) why we converted EDI to ASCII (add EDI, '0') and returned it back to decimal num (sub EDI, '0')?
1:01:30 I think you forgot jump outside if and elseif statements.
was actually freaking out searchin for somebody saying this
have ye tried nasm for dosbox?
i need help printing some integer like 3478 with assembly. basically how to convert integer to ascii
Found this... maybe you have a similar system...
cssimplified.com/computer-organisation-and-assembly-language-programming/an-assembly-program-in-which-a-procedure-converts-hexadecimal-value-to-print-its-decimal-form-on-screen
@@bob-ny6kn Thanks. I'll try 😁
5:40 ... stick to assembly
where can i take more courses like this. where can i take the next training.
ua-cam.com/video/zEuvNYe7WG0/v-deo.html
In grammar school, judging by the level presented in it.
04:00 "Constant variables" - what an oxymoron…
05:22 DAFUQ is that? :o That's not C. That's not even wrong -_-
06:10 ………I don't even know how to comment this……… But that's the end of this video for me.
6:10 why the fuck is there a jumpscare here?
Painful to follow. I quit at 15 minutes. You can't freeverse. "Umm" means nothing. Stop it. Practice a planned outline and stick to it.
We'll wait on your video bob. Let us know when you publish it. Since you know how to make these videos so well I anticipate something well done and organized.
@@BitwiseMobile I teach live people, live. No editing. No complaints. Plenty of "I never knew that could be done. Thank you." Constructive criticism is good.
@@BitwiseMobile p.s. No video recordings exist, only subject papers written and freely (and often) copied.
@@bob-ny6kn teach us assembly bob
@@cheetah_5314 okay. Here, in the comments section, I will teach (NOT give) how to coda machina... Step (1) Read a book. Step (2) Read more books. Step (3) Keep reading books until your teacher asks you to explain how you machine-coded your planetarium program, and then give a demonstration to the class (because he can't) - at the age of 15. Step (4) Read more books and write a back-end to a User Interface that quadruples your efficiency (speed plus accuracy) over dozens of "expert" colleagues (at age 19 years). Step (5) Read more books until you solve a decade-old design flaw that catapults your product line to the highest in sales domestically and internationally (and gets you a hand shake from the original designer), then teach a scientist for a space agency how to code, over the phone, three hours a day for three months, then code for an aerospace engineer who needed a help to get past writers block (to eventually launch). Step (6) allow yourself to constructively criticize someone on UA-cam who is trying, but could do much better (and will) with a couple pointers. Step (7) have no sympathy for snarky trolls of the inturdnet. Now, write your Hello, World! in vi and stfu.
To think that I was forced to take a typing class to graduate high school, when I already coded over 60 wpm, and now reduced to thumbing soliloquies to trolls brings a tear to my good eye.