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

GOOD

MORNING
EVERYONE!
ASSEMBLY
LANGUAGE

GROUP 1 – ICT 12
WHAT IS
ASSEMBLY
LANGUAGE?
Assembly language is a
low-level programming
language that is used for
programming computer
hardware, such as
microprocessors,
microcontrollers, and
other integrated circuits.
Assembly Language is a
low programming
language intended to
communicate directly
with a computer’s
hardware.
DEVELOPER OF
ASSEMBLY
LANGUAGE
Kathleen Hylda Valerie Booth was a British
computer scientist and mathematician who
wrote the first assembly language and
designed the assembler and auto code for the
first computer systems at Birkbeck College,
University of London. She helped design three
different machines including the ARC
(Automatic Relay Calculator), SEC (Simple
Kathleen Booth was a pioneer in
computer development being the first
to create assembly language and, with
her husband, produced the "Booth
multiplier algorithm" and the first
rotating storage device.
HISTORY OF
ASSEMBLY
LANGUAGE
The history of assembly language dates
back to the early days of computing
when computers were first being
developed in the 1940s and 1950s. At
the time, programming languages were
not yet standardized, and each
computer had its own unique machine
language. Programmers had to
manually code in machine language,
which was a tedious and error-prone
process.
In the 1960s and 1970s, assembly
language became more standardized
as computer architecture and
instruction sets became more
consistent. Assemblers were developed
to translate assembly language code
into machine language, and these
assemblers became important
components of operating systems and
programming tools.
CHARACTERISTICS
OF ASSEMBLY
LANGUAGE
1. Syntax - Assembly language uses a
symbolic representation of the
computer's machine language that is
more readable and easier to understand
than machine language code.

2. No Abstraction - Assembly language


programming does not use any
abstraction, such as functions, procedures,
or loops. Instead, it relies on direct
manipulation of memory and registers.
3. Human-readable - Assembly language
is designed to be human-readable so that
programmers can easily understand and
debug the code.
5. Limited abstraction - While assembly
language provides some abstractions,
they are limited and require more careful
planning and implementation.

6. Debugging - Debugging code in


assembly language can be tedious and
challenging as it requires a deep
understanding of the computer's memory
organization and the instruction set of the
specific processor.
KEY
FEATURES OF
ASSEMBLY
LANGUAGE
1. Mnemonic instructions
Assembly language uses mnemonic instructions to
represent machine code instructions. These are
short, easy-to-remember words representing specific
instructions that the computer’s processor can
understand. For example, the mnemonic ‘MOV’
stands for ‘move’ and is used to move data from one
location to another.
2. Direct access to hardware
Assembly language provides direct access to
hardware resources such as the CPU, memory, and
I/O ports. This allows programmers to write code
that can control these resources directly. For
instance, assembly language can be used to write a
code (i.e., a device driver) that interacts directly with
a piece of hardware such as a printer or network
card.
3. Low-level abstraction
Assembly language provides a close-to-hardware
abstraction of the underlying computer system. This
allows programmers to write specific code that takes
advantage of a particular hardware feature of a given
computer system. For example, assembly language can
be used to write algorithms for tasks such as sorting
and searching.

4. Efficient use of resources


Assembly language programs are built for the
hardware on which they run. This allows them to use
system resources such as memory and processing
power efficiently. For instance, assembly language
can be used to write code that uses memory more
efficiently than any other higher-level languages such
as C#, JavaScript, or PHP.
5. Full control over program flow
With assembly language, programmers can gain complete
control over the flow of their programs. This allows for more
fine-grained control over program execution through
constructs such as loops and conditionals. For example,
assembly language can be used to write code implementing
complex logic that cannot be easily expressed using higher-
level languages such as Swift or Ruby.

6. Direct access to memory


Assembly language programs have direct access
to a computer system’s memory. This allows
programmers to write code that can directly
manipulate the data stored in memory. For
instance, assembly language can be used to
write code that implements complex data
structures such as linked lists and binary trees.
7. Better control over CPU
Assembly language provides better
control over the CPU, allowing
programmers to write code that can
perform operations such as setting
flags and manipulating registers
directly. This level of control can be
important for tasks such as systems
programming, where it is necessary to
interact directly with the operating
system and the CPU.
ADVANTAGES

DIS-ADVANTAGES
Advantages of
Assembly language:
-Faster in speed as it will be extremely
optimized to use only necessary resources.
-Efficient use of memory
-High level of control of hardware operations.
-Access registers and memory in hardware
which cannot be accessed while using high
level languages.
-Don’t need to rely on compilers to optimize
the code.
-Assembler bugs are much more easier to
identify and fix than compiler bugs.
Disadvantages of
Assembly language:
-Takes a lot of effort to
write and maintain the
code.
-Most the time the code
will not be portable to
other Microcontrollers or
Microprocessors
-Limits algorithm design
ANY QUESTION!!??!?!?!?!?
THANK YOU!

You might also like