You are on page 1of 43

Chapter 3

Instruction Set Architectures

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Chapter Outline
• Programming Languages
• Assembly Languages
• Instruction Set Architecture Design
• A Relatively Simple ISA
• ISA of the 8085 microprocessor

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Programming Languages
• High level languages
• Assembly languages
• Machine languages

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Compilation Process

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Assembly Process

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Java Applets

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Assembly Language Attributes
• Instruction types
• Data types
• Addressing modes
• Instruction formats

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Instruction Types
• Data transfer
• Data operation
• Program control

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Data Types
• Numeric (integer, floating point)
• Boolean (true, false)
• Character (ASCII, Unicode)

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Direct

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Indirect

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Register
Direct

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Register
Indirect
@R

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes -
Immediate

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Implicit

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Relative

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Addressing modes - Indexed

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Instruction Formats
• More operands = less instructions
• More operands = larger words

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


3-operand Instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


2-operand Instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


1-operand Instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


0-operand Instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Instruction Set Architecture
• Instruction set
• Register set
• Memory access information

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


ISA Attributes
• Completeness
• Orthogonality
• Register set design

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


ISA Requirements
• Backward compatibility?
• Data types/sizes
• Interrupts?
• Conditional instructions?

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


A Relatively Simple ISA -
Registers
• Accumulator AC
• General purpose register R
• Flag Z

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


A Relatively Simple ISA -
Instruction Set

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


A Relatively Simple ISA -
Instruction Set (continued)

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


A Relatively Simple ISA -
Instruction Formats

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Example Relatively Simple
Program n
1  2  ...  n, or i
i 1

This could be written as a high-level language


code snippet as follows.
total=0;
FOR i=1 to n DO {total = total + i};
1. total = 0, i = 0
2. i = i + 1
3. total = total + i
4. IF i  n THEN GOTO 2
Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001
Example Relatively Simple
Program Code

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Example Relatively Simple
Program Trace

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


A Relatively Simple ISA -
Analysis
• Completeness
• Orthogonality
• Register set design

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


The 8085 ISA - Registers
• Accumulator A
• General purpose registers B, C, D, E,
H, L
• Stack pointer SP
• Flags S, Z, P, CY, AC

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


The 8085 ISA - Instruction Set
• Data movement instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


The 8085 ISA - Instruction Set
• Data operation instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


The 8085 ISA - Instruction Set
• Program control instructions

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


The 8085 ISA - Instruction
Formats

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Example 8085 Program
n
1  2  ...  n, or ii 1

1. i = n, sum = 0
2. sum = sum + i, i = i - 1
3. IF i  0 THEN GOTO 2
4. total = sum
Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001
Example 8085 Program Code

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Example 8085 Program Trace

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


The 8085 ISA - Analysis
• Completeness
• Orthogonality
• Register set design

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001


Summary
• Programming Languages
• ISA Design

Images courtesy of Addison Wesley Longman, Inc. Copyright © 2001

You might also like