princess sumaya univ. computer engineering dept. chapter 9:
TRANSCRIPT
Princess Sumaya Univ.Computer Engineering Dept.
Chapter 9: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)
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
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
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
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
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
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
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
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
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
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