A - Z Nasm Assembly 64Bit Programming - Loop, Stack, prinf, scanf, conditions

preview_player
Показать описание
Assembly programming, x86 and x64. Integrated development environment. Step-by-step. Learn how to write loops and check for conditions. Create and use local variables. Learn to write to and read from the console using printf and scanf using 64bit assembly. Learn the 64 bit ABI calling convention. Learn about software logical address (virtual address space). This video is a complete guide on how to start using Nasm assembly to write a useful assembly program. Why use assembly in 2022+ - because its awesome.

Hope you enjoy the video, and if so give a like.

Thank you!
Рекомендации по теме
Комментарии
Автор

Not Intel, but one thing that clinched my first professional job out of college was knowing IBM mainframe assembler. Now, this was in the late 1970s. I don't know myself how relevant it is to today's market.

johnmckown
Автор

WTF? I learned a loooot and I have big respects that you explained everything so good, in such a short video! Nice one bro. ✌🏻

MieysoFelix
Автор

Note that there should be JL instruction instead of JLE to form (i < num) condition and the new line character in the end of msg2 in C code (there is 10 in asm) to make hello.c and demo.asm equivalent

rzwquil
Автор

Have never seen assembly explained this well. Great job.

drewbell
Автор

Thank you very much, it has been a very compact course!

guliyevshahriyar
Автор

The fact that you MUST Zero EAX before calling any functions that accepts multiple arguments... I'm not sure if I remember learning about this technical requirement.
I've learned quite a bit over the past 20 years, but this is something I don't think I knew. Then again was based on the Linux calling convention. I've worked mostly in Windows so I'm familiar with __cdecl, __stdcall, __fastcall, etc... but even then I still don't remember knowing that you "MUST" zero out EAX before calling a function that takes multiple parameters for its arguments. I think I've learned something new. Excellent job on a very clear and precise explanation of the relationship between C/C++, Assembly and the Stack-StackFrame, Job Well Done Sir! This was very enjoyable and very educational. Thank You!

skilz
Автор

buddy you did an amazing video. even i understood what it was about. thank you

johnpapa
Автор

Good, interesting video. X64 vaguely reminds me a bit of Z80 assembler from many years ago.

johnmckown
Автор

Where did you personally learn this? Could you provide some links(text based prefered) that would help me learn this in depth?

this is by far the best guide of assembly I have found. spectacular work man!!

s
Автор

Bruh I gotta say thank you. Because of you I passed my computer architecture final. We used risc-v but your video and how you explained x86 it really helped

traykeller
Автор

When I ask chatGPT that how do you call a windows api function in assembly, it showed me some code and I was amazed! Parameters are picking from rsp register. Then I asked how do you get the return value of a function ? It told me to get the rax register. I was amazed again. Then I asked, Hey dude, how do i know that which register I need for a certain task ? It told me to learn NASM and i am here.

kcvinu
Автор

Could you explain why we reserve 16 bytes on the stack and the variable is only 4 bytes in this case. I looked at the stack in the gdb debugger and apart from the space for this variable, there is an address and a value of 1000 in hex.

stefanwichura
Автор

please how do I run assembly language code in visual studio code, I have searched and have been trying but its still not working

gmicnlq
Автор

error: Mach-O 64-bit format does not support 32-bit absolute addresses

Solution: Add underscores and default rel
global _main
extern _printf
extern _scanf
default rel
(YT won't let me link my resource)

danielleivy
Автор

Bro is that Linux? Why all nas tutorials are meant for Linux? I am using windows and I cannot even make hello world program in x86 despite the tons of searches I've done on Google

ZeroCool
Автор

can i not do it on windows or something why does no one have a video for windows 11

Lookbehindyou
Автор

'make' doesn't work. After trying to do 'nasm -f elf file.asm' the terminal outputs an array of errors such like 'impossible combination of adress sizes'

xMORAENNx
Автор

Can anyone explain, why we need to clear eax before calling function?

lbjdtcq
Автор

I code in assembly on a REAL computer, not a toy that is trying to be a computer.
X86 is brain dead.
Why have sections?
Think about it - Memory is memory, put whatever you want in it. Ie code, text, numbers etc. The machine dont care
Why have a stack? No need for it. I wrote thousands of lines of code, never needed a stack. Just give me memory and let me manage it

rty
Автор

you run fast. you know too much. you know the details but I not. Please explain for people that do not know. Thanks. may respect for you

reipalacio