Week 1 Lecture

advertisement
CS271 ASSEMBLY
LANGUAGE
PROGRAMMING
Class hour: 9:30-10:45 am TR.
Hyer Hall Room 210
Course Objectives
• Identify the major component of a PC-based
system, describe the steps involving in
assembling, linking, and executing a program
• Write/Debug programs in assembly
language to perform the given task and run
them
Textbook/Technology requirement
Textbook:
IBM PC Assembly Language and Programming.
Peter Abel. 2001. Fifth Edition. Prentice Hall. ISBN:
0-13-030655-X
Software:
Emu8086 microprocessor assembler and
emulator software. Available at
www.emu8086.com
Introduction
Tell me about yourself and what you expect
to get out from this course
Self-Introduction
• Recently graduated from the
University of Connecticut (05
Class), Ph.D in Computer
Science and Engineering
• Master of Computer Science
from UW-Milwaukee (96-99)
• Bachelor of Science from
Hanoi University of
Technology (86-91)
Self-Introduction
• Research Experience:
– User Modeling, Information Retrieval,
Decision Theory, Collaborative Filtering,
Human Factors
• Teaching Experience:
– CS 271,172, and 181 at UWW (Fall 2005)
– Introduction courses at UOP and Devry
– TA for Computer Architecture, OO Design,
Compiler, Artificial Intelligence
Self-Introduction
• Teaching philosophy:
– Interactive
– Adaptive
– Pro-active
– Collaborative
• Other hobbies (non-academic related)
– Movies
– College Basketball
– Family activities
Contact information
nguyenh@uww.edu
Baker Hall 324
Office Hours: 2:15-4:15MWF or
by appointment
262 472 5170
Course detail - Topics
Write
a program
in assembly language
Understanding
of a PC-based
system
Fundamentals of
assembly
language & program
Specific
Applications
Course detail - Evaluation
GRADABLE
POINTS
WEIGHTING
Homework
100
10%
Programming
assignments
450
45%
Midterm
200
20%
Final exam
250
25%
Totals
1000
100%
What does it take to success
-Attend the class regularly and actively participate
in the class discussion (ask questions, answer
questions, etc..)
-Don’t give up on programming assignments.
Pay attention to detail
-Try many options when doing programming
assignments
What does it take to success
Grade distribution for previous class
1200
1000
800
600
Series1
400
200
0
0
5
10
15
20
Questions?
Overview
Fundamental of PC Hardware and
Software
Basic features of PC Hardware
• Binary and Hexadecimal Number
Systems
– Bits/bytes
– Binary number systems
– Hexadecimal
– ASCII
• PC Components
– Processor
– Memory
Bits/bytes and Binary system
• Bits: 0(off) & 1(on)
• Bytes:
– Represents a storage location in
memory and devices.
– 8 bits => 28 combination of 0/1.
Bits/bytes and Binary system
Address
40 Husky Road
Storrs, CT 06329
00000100 00000000
Word
Doubleword
Quadword
Paragraph
Kilobyte
Megabyte
Bits/bytes and Binary system
Bit value
1
Position value
Bit number
1
1
1
1
1
1
1
128 64
32
16
8
4
2
1
7
5
4
3
2
1
0
6
0+0=0
Operations
1+1=10
1+0=1
Negative binary numbers
2’s complement’s notation
01010101
10101010
Add
1
10101011
Reverse the bit
values and add 1
1. What is the value of 01010101?
2. How to represent -25 in 2’s complement
notation?
Bits/bytes and Binary system
Bit value
1
Position value
Bit number
1
1
1
1
1
1
1
128 64
32
16
8
4
2
1
7
5
4
3
2
1
0
6
Parity bit: forcing the number of bits always odd
Example:
01010101
Parity bit = 1
00010101
Parity bit = 0
Hexadecimal presentation
• Disadvantage of binary representation:
– Is not “user-friendly”
– Complicated when computing manually
• Hexadecimal representation
Hexadecimal presentation
Hexadecimal arithmetic
7+1=8
7+2=9
7+3=A
7+4=B
7+8=F
7+9=?
Practice
• Convert from decimal to hexadecimal
23 = ????
254 = ????
• Adding hexadecimal value
13B4H + 0033H = ????
DCBEH + 35B5H = ????
Popular coding systems to represent data
 ASCII—American
Standard Code for
Information Interchange
 EBCDIC—Extended Binary Coded Decimal
Interchange Code
 Unicode—coding scheme capable of
representing all world’s languages
Conversion from letter to binary format and back
Step 1.
Step 2.
The user presses
the capital letter D
(shift+D key) on
the keyboard.
Step 4.
After processing, the binary
code for the capital letter D is
converted to an image, and
displayed on the output device.
An electronic signal for the
capital letter D is sent to the
system unit.
Step 3.
The signal for the capital letter D
is converted to its ASCII binary
code (01000100) and is stored in
memory for processing.
Question?
PC Components
speaker
PC camera
system unit
printer
speaker
monitor
keyboard
modem
scanner
mouse
microphone
digital camera
PC Components

What are two main components on the mothe
Central Processing Unit (CPU)
Also called a processor
Carries out instructions that tell computer what to do
Memory
Temporary holding place for data and instructions
Central processing unit (CPU) (Processor)
 Interprets
and carries
out basic instructions
that operate a computer
 Control unit directs and
coordinates operations in
computer
 Arithmetic logic unit
(ALU) performs
arithmetic, comparison,
and logical operations
Processor
Control
Control
Unit
Unit
Arithmetic
Arithmetic
Logic
Logic Unit
Unit (ALU)
(ALU)
Instructions
Data
Information
Input
Devices
Data
Memory
Instructions
Data
Information
Storage
Devices
Information
Output
Devices
Memory
•
•
Temporary storage place for data, instructions, and
information
Consists of one or more chips on the motherboard or
some other circuit board
Operating system
•
Three basic
items stored
in memory
Applications
Data
Memory

Size of memory is measured by the number of
bytes available
• Kilobyte - 1,024 bytes
• Megabyte – approximate one million bytes
Memory
What are the two types of memory in the system
unit?
volatile
Volatile memory
Memory
Loses
itscontents
contents
when
Loses its
when
the
the computer's
computer's
power ispower
turnedis
off
turned off
nonvolatile
memory
Does not lose its
contents when the
computer’s power is
turned off
Memory
What is random access memory (RAM)?
Memory chips that can be read from and
written to by the processor and other devices
When the computer starts, operating system
files are loaded from a hard disk into RAM
As additional programs and data are requested,
they also load from storage into RAM
Most RAM is volatile
Addressing data in Memory
• Difference between address of a memory
Location and its content
• Processor stores the data in memory in
reverse by sequence
• Two types of addressing schemes
absolute address
segment-offset address
Segment
•
•
•
•
•
Code segment (CS)
Data segment (DS)
Stack segment (SS)
Extra segment (ES)
Actual address = segment
address + offset
Registers
• Segment register
– CS,DS,SS,ES, FS and GS
• Pointer register
– IP,SP,BP
• General purpose register
– AX,BX,CX,DX
• Index register
– SI, DI
Flags
OF, DF, IF, SF, ZF,AF,PF,CF
If cleared: NV,UP,EI,PL,NZ,NA,PO,NC
If set: OV,DN,EI,NG,ZR,AC,PE,CY
Download