HiveBrain v1.2.0
Get Started
← Back to all entries
patternMajor

Why do we need assembly language?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
whylanguageassemblyneed

Problem

We mostly write programme in high level language. So while studying I came across assembly language. So an assembler converts assembly language to machine language and a compiler does the same with high level language. I found assembly language has instructions like move r1 r3 , move a 5 etc. And it is rather hard to study. So why was assembly language created?or was it the one that came first even before high level language? Why am I studying about assemblers in my computer engineering class?

Solution

"So why was assembly language created?"

Assembly language was created as an exact shorthand for machine level coding, so that you wouldn't have to count 0s and 1s all day. It works the same as machine level code: with instructions and operands.

"Which one came first?"

Wikipedia has a good article about the History of Programming Languages

"Why am I studying about assemblers in my computer engineering class?"


Though it's true, you probably won't find yourself writing your next
customer's app in assembly, there is still much to gain from learning
assembly.


Today, assembly language is used primarily for direct
hardware manipulation, access to specialized processor instructions,
or to address critical performance issues. Typical uses are device
drivers, low-level embedded systems, and real-time systems.


Assembly language is as close to the processor as you can get as a programmer
so a well designed algorithm is blazing -- assembly is great for speed
optimization. It's all about performance and efficiency. Assembly
language gives you complete control over the system's resources. Much
like an assembly line, you write code to push single values into
registers, deal with memory addresses directly to retrieve values or
pointers. (source: codeproject.com)

Context

StackExchange Computer Science Q#13287, answer score: 36

Revisions (0)

No revisions yet.