princess sumaya univ. computer engineering dept. chapter 9:

12
Princess Sumaya Univ. Computer Engineering Dept. Chapter 9: Chapter 9:

Upload: kailey-lea

Post on 28-Mar-2015

224 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya Univ.Computer Engineering Dept.

Chapter 9:Chapter 9:

Page 2: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

22 / 10 / 10

String OperandsString Operands

String Operands Defaults

● Byte, Word or Double Element Size

● DS:SI Points to Source String

● ES:DI Points to Destination String

● Register Use is Limited to AL & AX

● Auto Increment or Decrement of the Index (Pointer)

Page 3: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

33 / 10 / 10

String OperationsString Operations

String Transfer Operations

● MOVS (Byte or Word)

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

MemoryMemory

ES 0000

0001

0002

0003

DI 0004

0005

Page 4: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

44 / 10 / 10

String OperationsString Operations

String Transfer Operations

● LODS (Byte or Word)

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

MemoryMemory

ES 0000

0001

0002

0003

DI 0004

0005

ALAL

Page 5: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

55 / 10 / 10

String OperationsString Operations

String Transfer Operations

● STOS (Byte or Word)

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

MemoryMemory

ES 0000

0001

0002

0003

DI 0004

0005

ALAL

Page 6: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

66 / 10 / 10

Repeated String OperationsRepeated String Operations

Repeated String Transfers● REP, REPZ, REPNZ (REPE, REPNE)

Example:

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

MemoryMemory

ES 0000

0001

0002

DI 0003

0004

0005

Page 7: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

77 / 10 / 10

Repeated String OperationsRepeated String Operations

Example:

Copy String

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

ES 0000

0001

DI 0002

0003

0004

0005

Page 8: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

88 / 10 / 10

Repeated String OperationsRepeated String Operations

Example:

Convert to Lower Case

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

ES 0000

0001

DI 0002

0003

0004

0005

Page 9: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

99 / 10 / 10

Repeated String OperationsRepeated String Operations

Example:

B[i] = – A[i]

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

ES 0000

0001

DI 0002

0003

0004

0005

Page 10: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

1010 / 10 / 10

String ComparisonString Comparison

Compare Two Strings

● CMPS (Byte or Word)

Example: Find the First Mismatch

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

ES 0000

0001

DI 0002

0003

0004

0005

Page 11: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.

1111 / 10 / 10

String SearchString Search

Scan Destination String

● SCAS (Byte or Word)

Example: Search for the Letter ‘a’

MemoryMemory

DS 0000

0001

SI 0002

0003

0004

0005

ES 0000

0001

DI 0002

0003

0004

0005

Page 12: Princess Sumaya Univ. Computer Engineering Dept. Chapter 9:

Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Princess Sumaya University 22342 – Computer Org. & Assembly Lang. Computer Engineering Dept.Dept.Chapter 9Chapter 9