Assembly language and machine code – Gary explains!

Read more: -|- Ask Gary your questions on the AA forums:

You might have heard the terms “assembly language” and “machine code” but what do they mean? Let’s find out.

Talk about Android in our forums:

Subscribe to our YouTube channel:
Stay connected to Android Authority:

Follow the Team:
Josh Vergara:
Joe Hindy:
Lanh Nguyen:
Jayce Broda:
Gary Sims:
Ash Tailor:


brocksprogramming says:

Good video Gary. I prefer high level languages, but I believe assembly is good to know. How about Spectre and Meltdown though.

Taylor Ringo says:

I’m still new at C#, I’m not going anywhere near the NDK for a long while.

Arul Shiju Arts says:

do i need to learn hardware to create a new programming language?

Arjun Kharbanda says:

make a video compiler vs interpreter.

waxingthenip says:

so is machine code binary?

James L says:

Assembly language is a core requirement in my CS under-grad program.

J@SPCreditors says:

1011 101 010010

Juan Pisula says:

Nice vid. A litte detail: Von neumann is pronounced like euler or freud

Aaron Ramsden says:

Man I wish I was a nerd enough to know half of what he’s talking about

jose fano says:

“Smile sweetly and let the conversation carry on” lol

Ravi Chandran says:


DaCreepyArcher says:

I want to know as low level languages as i can. I like when it is advanced, because that gives me a feeling of freedom.

Manu Rightz says:


Botond Keresztes says:

I’m currently studying electrical engineering and in this semester I have a subject called Digital Technology 2 (yes there was one in the previous semester also) and we will be writing some assembly code. I’m kinda interested but at the same time I’m not looking forward to it too much.

Matthew Hess says:

Great video, very informative!

Sangeeta Gupta says:

thankyou so much,i searched everywhere meaning of bytecode in java but your video has completely cleared my doubt

Quasi84 says:

I’ve written assembly code for x86 but it has been over 15 years since. I recommend any serious geek to try it out. Use NASM or YASM. Intel syntax is the most common on x86 and is the most elegant of them since it has less clutter and the operands are written in the same order as they are later placed in the resulting assembled machine code.

C is a really neat language. It gets you close to the hardware without being architecture specific, a good compromise. A high level language that doesn’t spoil you and doesn’t have much pre-made libraries to offer you but you can write blazing fast code to solve about any problem where as higher level languages are only fast in certain tasks, and get quite close to C. But they are completely obliterated in other tasks.

Learning a programming language that you won’t really use is still helpful since it increases your understanding of what the computer actually does to solve your problem. You don’t have to be a professional assembly language or C programmer to understand what happens under the hood. Just briefly learning the basics can help a lot by allowing you to understand the difference between languages and what actually happens.

SputnicK says:

I burst out laughing at 7:28

StatikVerse The Shock says:

My current project is writing a simple VM to perform arithmetic. This helped me grasp a lot. Thanks

giobikefans says:

So just to be clear, the assembler is software based and not built into the CPU (that is there is nothing in the CPU distinctly built to convert assembly into machine code) correct?

Uzair Mughal says:

Simply love the cute face of yours in the beginning of the video..!!!

Mofo Jackson says:

You say for faster processing use ‘C’. But does the same apply for C++ or just ‘C’ specifically ?

Thanks for this vid and definitely giving thumbs up 🙂

Dinesh Gaur says:

While producing the machine code does compiler itself make sure that it’s creating proper instruction set (32 or 64 bit) consisting of op-code and operand?

Archie Meijer says:

2:22 Closed captions says “move one inter-village to zero”. But you didn’t say inter-village did you? I can’t make out exactly what you said there.

no man says:

How does assembly language correspond to operating systems

EnquiringEyes4Truth says:

Hello Gary

Do hate to bother you but you’re the only one I even partially understand when trying to learn Assembly language. I don’t know
the meaning of stack and register but I understood you a little. I don’t know what TASM means yet but what I mean to say
is it seems other video explainers just seem always to make things more complicated by always putting in unknown/unexplained word concepts. Your only fault as I see it is wasting time by explaining history. But as I am also burdened
by your unique adherence to the Android thing. My purpose is to understand Viruses,… I hate them. I’ve read that they could
be an avenue to real AI (of course I would love that) but it shouldn’t mean the rest of us should suffer abuse and harassment. Anyway thank you.

d e austin says:

never got lower than cobol in the 60s, and that was frustrating enough for me. You gave the punch cards to the girl at the window. If your program was good, you got a thin print out back. If it was full of bugs, you got a nice thick printout and spent another few days finding all the errors.

Al Pacino says:

how can i = i + j; 15 = 15 + 25 ?

ÄÇ GOLD says:

So a low level is better than Hi- levels in some sort of way? ‘-‘

Ruben Krueger says:


Sangeeta Gupta says:

with red cap on u look so cute!

Arshia Keshvari Asl says:

computer science 101

nauman rafiq says:

remove or slow down background music it’s highly disturbing

Black Ghost says:

The best explanation so far.

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!