ASSEMBLY LANGUAGE PROGRAMMING

Course Objectives â&#x20AC;˘ Identify the major component of a PC-based system, describe the steps involving in assembling, linking, and executing a program â&#x20AC;˘ 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

Course detail - Topics Write a program in assembly language

Understanding of a PC-based system

Fundamentals of assembly language & program

Specific Applications

What does it take to success -Attend the class regularly and actively participate in the class discussion (ask questions, answer questions, etc..) -Donâ&#x20AC;&#x2122;t give up on programming assignments. Pay attention to detail -Try many options when doing programming assignments

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.

40 Husky Road Storrs, CT 06329

00000100 00000000 Word Doubleword Quadword Paragraph Kilobyte Megabyte

Bits/bytes and Binary system Bit value

1

1

1

1

1

1

1

1

Position value

128

64

32

16

8

4

2

1

Bit number

7

6

5

4

3

2

1

0

0+0=0 Operations

1+1=10 1+0=1

Negative binary numbers 2â&#x20AC;&#x2122;s complementâ&#x20AC;&#x2122;s notation

1

10101011 Reverse the bit values and add 1

1. What is the value of 01010101? 2. How to represent -25 in 2â&#x20AC;&#x2122;s complement notation?

Bits/bytes and Binary system Bit value

1

1

1

1

1

1

1

1

Position value

128

64

32

16

8

4

2

1

Bit number

7

6

5

4

3

2

1

0

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

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 ď&#x201A;°

What are two main components on the motherboard? 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 Informatio n

Input Devices

Data

Memory Instructions Data Informatio n

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 Loses its itscontents contents when when the computer's the computer's power ispower turnedis off turned off

nonvolatile memory Does not lose its contents when the computerâ&#x20AC;&#x2122;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

1334220058 3921assembly 1