Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

WORLD UNIVERSITY OF BANGLADESH

Assignment
On

Microprocessor and Assembly Language

Course Code: CSE 601

Submitted to:

Shamsun Nahar
Lecture
World University of Bangladesh

Submitted by:

Sadia Sadah Shadh


Roll: 3093
Batch: 50A
ID: WUB 03/20/50/3093
Department of CSE

Submission Date: 24/07/2021


Assembly language in the practical life or our daily life and real world

Assembly language is a low-level programming language for a computer or other programmable


device specific to a particular computer architecture in contrast to most high-level programming
languages. Assembly language is converted into executable machine code by a utility program
referred to as an assembler like NASM, MASM, etc.
Today, assembly languages remain the subject of study by computer science students, in order to
help them understand how modern software relates to its underlying hardware platforms. In some
cases, programmers must continue to write in assembly languages, when the demands are
performance are especially high, or when the hardware in question is incompatible with any current
high-level languages. Typical uses are device drivers, low-level embedded systems, and real-time
systems.
Assembly is great for speed optimization. It's all about performance and efficiency. Assembly
language gives us complete control over the system's resources. We write code to push single
values into registers, deal with memory addresses directly to retrieve values or pointers.
Assembly language is transferable across machines. Portability is one of the strongest advantages
of using assembly language. It has more portability compared to machines codes and yet shares
the same flexibility of a high -level programming language.
Assembly language uses mnemonic (is used to define a specific command) codes. Mnemonics
allows us to access a wide variety of commands at a much quicker pace without the need to type
out extended phrases.

Assembly language is used because it can be executed on processors which don’t have any high-
level language compilers. To make it clearer, devices such as mobiles phones, dish washers,
washing machines, water heaters, table fans and such are often required computer instructions in
assembly language because the code is a standalone item that can be executed without the
overheads of a full computer system. This may actually decrease the cost of a business in order to
operate an embedded system that does not need a yearly change or update in the software.

Typical applications are given below-

• Assembly language is typically used in a system's boot code, the low-level code that
initializes and tests the system hardware prior to booting the operating system and is often
stored in ROM.
• Assembly language is often used for low-level code, for instance for operating system
kernels, which cannot rely on the availability of pre-existing system calls and must indeed
implement them for the particular processor architecture on which the system will be
running.
• Some compilers translate high-level languages into assembly first before fully compiling,
allowing the assembly code to be viewed for debugging and optimization purposes.
• Some compilers for relatively low-level languages, such as Pascal or C, allow the
programmer to embed assembly language directly in the source code. Programs using such
facilities can then construct abstractions using different assembly language on each
hardware platform.
• Assembly language is useful in reverse engineering. Many programs are distributed only
in machine code form which is straightforward to translate into assembly language by a
disassembler, but more difficult to translate into a higher-level language through a
decompiler.
• Assembly language is used to enhance speed of execution, especially in early personal
computers with limited processing power and RAM.
• Assemblers can be used to generate blocks of data, with no high-level language overhead,
from formatted and commented source code, to be used by other code.
• Assembly language is often used to crack program/software to bypass getting a
license/paying money. So, most software companies use assembly language in order to
protect them from cracking.
• Viruses are written in assembly for stealth and more effectiveness. So, some components
of anti-viruses are also written in Assembly.
• An expert assembly language programmer can often produce code that is much smaller and
much faster than a high-level language programmer can.
• Some procedures need complete access to the hardware, something usually impossible in
high-level languages comparing to the assembly language.
• A compiler must either produce output used by an assembler or perform the assembly
process itself - and someone has to program the compiler.
• Assembly code protects software execution against different types of attacks.
• Assembly Language is used for direct hardware manipulation, access to specialized
processor instructions, or to address critical performance issues.

• With assembly we have access to specialized processor instructions.

• In Assembly code it is handy if we want to address critical performance issues.

• The device service routine that is usually written in assembly language which controls the
operation of the floppy disk drive.

You might also like