Computer assembly language
Computer assembly language
Assembly Language
1 – An Introduction
Outline
About this Course
Basic Structure of Computer
What is Computer Organization?
About Assembly Language
2
Basic Structure & Function –
Computer System
Structure
4
Difference in Peripherals &
Communication Lines
5
Structure - Top Level
Peripherals Computer
Central Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
6
Structure – Top Level Contd..
7
Structure - The CPU
CPU
Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection
Control
Unit
8
Structure – The CPU
Control Unit: controls the operation of CPU and hence
the computer.
Arithmetic and logic unit: performs the computer’s data
processing functions.
Registers: provides storage internal to CPU.
CPU interconnection: Mechanism that provides for
communication among the control unit, ALU, and
registers.
9
Structure - The Control Unit
Control Unit
CPU
Sequencing
ALU Logic
Control
Internal
Unit
Bus
Control Unit
Registers Registers and
Decoders
Control
Memory
10
Function
Function is the operation of individual components as
part of the structure.
Main functions performed by a computer system are:
Process Data
Store Data
Move Data
Control the above three functions
11
Functional View of Computer
12
Possible Operations
Data movement device Data storage device (read/write)
13
Possible Operations Contd..
Processing on data stored in storage or in external environment
14
What is Computer
Organization?
Computer Architecture
Computer Architecture refers to those attributes of a
system visible to a programmer
Those attributes that have direct impact on logical execution of
a program.
Architectural attributes include:
the instruction set,
no. of bits used to represent various data types (numbers,
characters etc),
I/O mechanisms and technology for addressing memory.
16
What is Computer Organization?
Organization is how features are implemented.
How does a Computer Work?
For Example: Is there a special hardware multiply unit for
multiplication operation or is it done by repeated addition?
Computer Organization refers to the operational units and
their interconnections that realize the architectural
specifications.
Organizational attributes:
hardware details transparent to the programmer such as control
signals,
interfaces between peripherals and the computer,
the memory technology used.
17
Computer Organization vs. Architecture
Architecture:
Logical aspects of computer hardware that are visible to
the programmer
What instruction a computer understands!
Organization:
Physical aspects of computer hardware that are invisible
to the programmer
How does the computer hardware carries out instructions!
18
Computer Organization vs. Architecture
Contd..
Computer Organization must be designed to implement a
particular architectural specifications.
19
Computer Organization vs. Architecture
Contd..
Architectural Issues:
Reduced Instruction Set Computing (RISC)
Complex Instruction Set Computing (CISC)
Pipeline etc
Organizational Issues:
I/O, control unit, memory etc
20
Why Study Computer Organization?
Understand how computer works!
Computer functional components, their characteristics, their
performance, and their interactions.
How to select a system?
Understand tradeoff among various components, such as
memory size, CPU clock speed etc.
21
Assembly Language
Computer Level Hierarchy
Figure Reference:
23 http://users.dickinson.edu/~braught/courses/cs251f09/topics/slides/intro.pdf
Programming Languages
24
High-Level Language
Allow programmers to write programs that look more like
natural language.
Examples: C++, Java, C#.NET etc
A program called Compiler is needed to translate a high-
level language program into machine code.
Each statement usually translates into multiple machine
language instructions.
25
Machine Language
The "native" language of the computer
Numeric instructions and operands that can be stored in
memory and are directly executed by computer system.
Each ML instruction contains an op code (operation
code) and zero or more operands.
Examples:
26
Assembly Language
Use instruction mnemonics that have one-to-one
correspondence with machine language.
An instruction is a symbolic representation of a single
machine instruction
Consists of:
label always optional
mnemonic always required
operand(s) required by some instructions
comment always optional
27
Sample Program
28
Figure: Machine Language Generation by ASM
and HLL programs.
29
Essential Tools
Assembler is a program that converts source-code programs
into a machine language (object file).
Linker joins together two or more object files and produces a
single executable file.
Debugger loads an executable program, displays the source
code, and lets the programmer step through the program one
instruction at a time, and display and modify memory.
Emulator allows you to load and run assembly language
programs, examine and change contents of registers. Example:
EMU8086
30
Why Learn Assembly Language?
Learn how a processor works
Explore the internal representation of data and instructions
How to structure a program so it runs more efficiently.
31