Prepared by
Lulav saeed
Gulistan yusif
Hallat Hamza
Hassan masud Suprevised
Media Hassan [Link] [Link]
Overall
• What is second generation
• Transistor
• Features of assemble language
• Types of Assembly Languages
• How Assembler Works
• Advantage & disadvantage of AL
Programming Languages
Machine Language Assembly
Fortra Language
COBOL n Pascal
BASIC Ada
Visual Basic
C and C+
Smalltal Java
+
• Programming languages are artificial languages created to tell the
computer what to do
• They consist of vocabulary and a set of rules to write programs.
.
Second generation :assembly language
•
During the period of 1956 to 1963 second generation of computers
were developed. The second generation computers emerged with
development of Transistors. The transistor was invented in 1947 by
three scientists J. Bardeen, H.W. Brattain and W. Shockley. A
transistor is a small device made up of semiconductor material like
germanium and silicon. Even though the Transistor were developed
in 1947 but was not widely used until the end of 50s. The transistor
made the second generation computers faster, smaller, cheaper,
more energy- efficient and more reliable than their first-generation
computers. Even though the transistor used in the computer
generated enormous amount of heat which ultimately would lead to
the damage of the computers hut was far better than vacuum tubes
Assembly Language
• An assembly language is a low-level programming language for
microprocessors and other programmable devices. It is not just a
single language, but rather a group of languages. An assembly
language implements a symbolic representation of the machine code
needed to program a given CPU architecture.
• An assembly language is the most basic programming language
available for any processor. With assembly language, a programmer
works only with operations that are implemented directly on the
physical CPU.
• Assembly languages generally lack high-level conveniences such
as variables and functions, and they are not portable between
various families of processors. They have the same structures and
set of commands as machine language, but allow a programmer to
use names instead of numbers. This language is still useful for
programmers when speed is necessary or when they need to carry
out an operation that is not possible in high-level languages.
Transistor
Transistors are tiny electrical devices that can be
found in everything from radios to robots.
They have two key properties:
1. they can amplify an electrical signal
2. they can switch on and off , letting current through
or blocking it as necessary.
Why is AL important to learn?
Provides opportunity to know more about
the operations of the PC
Enable control of the PC – access to
specific hardware features
Quicker, smaller and have larger capacities
compared to other HL languages
Files Created by Assembler
Source Editor Assembler Listing File
File Binary File
Binary file or object file is recognized by machine.
Listing file contains the information of program assembling.
• If a program written in more than one files, LINKER is needed
to link the object files together before execution.
Features of assemble language
The main features of second generation are:
Use of transistors.
Reliable in comparison to first generation computers.
Smaller size as compared to first generation computers.
Generated less heat as compared to first generation
computers
Features of assemble language
Features Consumed less electricity as compared to first
generation computers.
Faster than first generation computers .
Still very costly.
A.C. needed.
Supported machine and assembly languages.
Types of Assembly Languages
• Assembly language closely tied to processor
architecture At least four main types:
CISC: Complex Instruction-Set Computer.
RISC: Reduced Instruction-Set Computer .
DSP: Digital Signal Processor .
RISC Assembly Language
Response to growing use of compilers
Easier-to-target, uniform instruction sets
"Make the most common operations as fast as possible" Load-
store architecture :
oArithmetic only performed on registers .
oMemory load/store instructions for memory-register transfers
Designed to be pipelined
Examples: SPARC, MIPS, HP-PA, PowerPC
CISC Assembly Language
Developed when people wrote assembly language Complicated,
often specialized instructions with many effects
Examples from x86 architecture
oString move .
oProcedure enter, leave.
Many, complicated addressing modes
So complicated, often executed by a little program (microcode)
Examples: Intel x86, 68000, PDP-11
DSP Assembly Language
DSP is programmed in the same languages as
other scientific and engineering applications,
this type of assembler can execute faster and
easier to develop and maintain. In traditional
applications, such as programs run on
personal computers and mainframes C is
almost always the first choice.
DSP Assembly Language
Cause DSP programs are different from
traditional software tasks in two important
respects. First, the programs are usually much
shorter, say, one-hundred lines versus ten-
thousand lines. Second, the execution speed is
often a critical part of the application. After all,
that's why someone uses a DSP in the first
place .
Assembly Language Program
• Two types of statements
1. Executable instructions
2. Assembler directives
Executable instruction
- translated into machine code by assembler
- tells the machine what to do at execution
Assembly Language Program
Assembler directives
- tell assembler what to do when program
assembled
- are not translated into machine code,
they are non-executable.
E.g., EQU, DC, DS, ORG, END
How Assembler Works
Pass I:
- Search source program for symbol definitions
and enter these into symbol table
Pass II:
- Use symbol table constructed in Pass I and op-
code table to generate machine code equivalent
to source
How Assembler Works
• Two-pass assembler
- Source program scanned twice before
producing the object code
• LC: Assembler’s simulation of PC
– When an assembly program is assembled, LC is
used to keep track of the “memory location” at
which an instruction would be should that
instruction be executed.
– So that machine code can be generated correctly
from assembly code.
Advantages of Assembly Language
• 1. Programs written in machine language are replaceable by
mnemonics which are easier to remember.
• 2. Memory Efficient.
• 3. It is not required to keep track of memory locations.
• 4. Faster in speed.
• 5. Easy to make insertions and deletions.
• 6. Hardware Oriented.
• 7. Requires fewer instructions to accomplish the same result
Disadvantages Of Assembly Language
• 1. Long programs written in such languages cannot be
executed or small sized computers.
• 2. It takes lot of time to code or write the program, as it is
more complex in nature.
• 3. Difficult to remember the syntax.
• 4. Lack of portability of program between computers of
different makes .
• 5. No SDKs (System Development Kit).