introduction to assembly language
DESCRIPTION
Introduction to Assembly languageTRANSCRIPT
![Page 1: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/1.jpg)
Computer Organization & Assembly Language
![Page 2: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/2.jpg)
Introduction
2
![Page 3: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/3.jpg)
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?
3
![Page 4: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/4.jpg)
Structure & Function
4
Structure is the way in which components relate to each other
Function is the operation of individual components as part of the structure.
Main functions performed by a computer system are: Data processing Data storage Data movement Control
![Page 5: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/5.jpg)
Contd.. When data is received from or delivered by a
device that is directly connected to the computer, process is called Input-Output (I/O).
When data are moved over longer distance, to or from a remote device, the process is known as Data Communication.
5
![Page 6: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/6.jpg)
Structure - Top Level
6
Computer
Main Memory
InputOutput
SystemsInterconnection
Peripherals
Communicationlines
CentralProcessing Unit
Computer
![Page 7: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/7.jpg)
Structure - The CPU
7
Computer Arithmeticand Login Unit
ControlUnit
Internal CPUInterconnection
Registers
CPU
I/O
Memory
SystemBus
CPU
![Page 8: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/8.jpg)
Structure - The Control Unit
8
CPU
ControlMemory
Control Unit Registers and Decoders
SequencingLogic
ControlUnit
ALU
Registers
InternalBus
Control Unit
![Page 9: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/9.jpg)
Microprocessors
9
![Page 10: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/10.jpg)
Microprocessor
10
Microprocessor is an electronic circuit that functions as the central processing unit (CPU) of a computer, providing computational control.
Microprocessors are also used in other advanced electronic systems, such as computer printers, automobiles, and jet airliners.
![Page 11: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/11.jpg)
Processor Integration
11
Early computers had many separate chips for the different portions of a computer system
RegistersALU
Control Memory
![Page 12: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/12.jpg)
Microprocessors
12
First microprocessors placed control, registers, arithmetic logic unit in one integrated circuit (one chip).
I/ODevices
Memory
CPU(ALU +Reg +
control)
Data BusAddress Bus
Control Bus
![Page 13: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/13.jpg)
Modern Processors
13
Modern microprocessors (general purpose Processors) also integrate memory onchip for faster access. External memory and I/O components still required. Memory integrated on the microprocessor is called cache memory.
I/ODevices
Memory
Data BusAddress Bus
Control Bus
Registers, ALU,Fetch,Exe Logic,Bus logic,Cache Memory
CPU
![Page 14: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/14.jpg)
Microcontrollers
14
Microcontrollers integrate all of the components (control, memory, I/O) of a computer system into one integrated circuit. Microcontrollers are intended to be single chip solutions for systems requiring low to moderate processing power.
Microcontroller
![Page 15: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/15.jpg)
Microprocessor vs. Microcontroller
15
Microprocessor CPU is stand-alone, RAM,
ROM, I/O, timer are separate
designer can decide on the amount of ROM, RAM and I/O ports.
general-purpose
Microcontroller CPU, RAM, ROM, I/O and
timer are all on a single chip
fix amount of on-chip ROM, RAM, I/O ports
single-purpose
![Page 16: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/16.jpg)
History of Intel Microprocessors
16
1971 - 4004 First microprocessor All CPU components on a single chip 4 bit
Followed in 1972 by 8008 8 bit Both designed for specific applications
1974 - 8080 Intel’s first general purpose microprocessor
![Page 17: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/17.jpg)
Pentium Evolution (1)
17
8080 first general purpose microprocessor 8 bit data path Used in first personal computer – Altair
8086 much more powerful 16 bit instruction cache, prefetch few instructions 8088 (8 bit external bus) used in first IBM PC
80286 16 Mbyte memory addressable up from 1Mb
80386 32 bit Support for multitasking
![Page 18: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/18.jpg)
Pentium Evolution (2)
18
80486 sophisticated powerful cache and instruction
pipelining built in maths co-processor
Pentium Superscalar Multiple instructions executed in parallel
Pentium Pro Increased superscalar organization Aggressive register renaming branch prediction data flow analysis speculative execution
![Page 19: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/19.jpg)
Pentium Evolution (3)
19
Pentium II MMX technology graphics, video & audio processing
Pentium III Additional floating point instructions for 3D
graphics Pentium 4
Note Arabic rather than Roman numerals Further floating point and multimedia
enhancements Itanium
64 bit
![Page 20: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/20.jpg)
Assembly Language
20
![Page 21: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/21.jpg)
Programming Languages
High-Level Languages (HLL) Assembly Language Machine Language
21
![Page 22: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/22.jpg)
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.
22
![Page 23: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/23.jpg)
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:
Opcode Operand Meaning-------------------------------------------------40 increment the AX register05 0005 add 0005 to AX
23
![Page 24: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/24.jpg)
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
24
![Page 25: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/25.jpg)
1.
2.
3.
4.
mov ax, 5
add ax, 10
add ax, 20
mov [0120], ax ax
ax
ax
ax 05
15
35
35
Memory
35 0120
5. int 20
011E
011C
0122
0124
0126
Sample Program Written in Debug
25
![Page 26: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/26.jpg)
ASM ML
ML
ML
ML
ML
HLL
Figure 1. Machine Language Generation by ASM and HLL programs.
26
![Page 27: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/27.jpg)
27
Why Learn Assembly Language? Learn how a processor works Explore the internal representation of data and
instructions Allows creation of small and efficient programs Provides a convenient way to directly access the
computers hardware Programmers write subroutine also known as
Interface Subroutine / device drivers in assembly language and call them from high-level language programs.
![Page 28: Introduction to Assembly Language](https://reader036.vdocuments.site/reader036/viewer/2022062300/555ecf9dd8b42a772f8b459d/html5/thumbnails/28.jpg)
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
28