Download presentation
Presentation is loading. Please wait.
Published byNickolas Mills Modified over 9 years ago
1
Lecture 6 Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU
2
Agenda String Data Transfer Instructions – The Direction Flag – LODS Instructions – STOS Instructions – MOVS Instructions – INS and OUTS Instructions More Examples
3
String Data Transfers Five Instructions – LODS, STOS, MOVS, INS and OUTS Each instruction allows data transfer either a single byte, word or double word
4
The Direction Flag, DF DF = 0, auto-increment mode of SI, DI DF = 1, auto-decrement mode of SI, DI CLD instruction clears the D flag (D = 0) STD instruction sets the D flag (D = 1) SI (Source Index) points to DS (Data Segment) i.e. DS:[SI] DI (Destination Index) points to ES (Extra Segment) i.e. ES:[DI]
5
LODS Instructions LODS instructions loads AL, AX or EAX with data indexed by SI register LODSB – load string byte Table 4-10: from Brey’s book
6
Example STRING1 DB‘ABC’ MOV AX, @DATA MOV DS, AX LEA SI, STRING1 CLD LODSB
7
STOS Instructions STOS instructions stores data form AL, AX or EAX to memory indexed by DI register STOSB – store string byte Table 4-11: from Brey’s book
8
Example STRING1 DB‘HELLO’ MOV AX, @DATA MOV ES, AX LEA DI, STRING1 CLD MOV AL, ‘A’ STOSB
9
REP (Repeat Prefix)) REP is used to execute string instructions repeatedly by CX times. REP automatically decrements CX by 1 REP works for any string instructions except LODS instruction
10
Example : Clear the video text display 12380 **** 1 2 25 ****** 543210543210 abc 07H Video display Text memory cbacba 20H B800H Example 4-5: From Brey’s Book
11
MOVS Instructions MOVSB – move string byte from one memory location to other Table 4-13 : From Brey’s Book
12
Example.DATA STRING1DB ‘HELLO’ STRING1 DB 5 DUP (?) MOV AX, @DATA MOV DS, AX MOV ES, AX LEASI, STRING1 LEADI, STRING2 CLD MOVSB
13
Example: Scroll Up One Line 12380 **** 1 2 25 ****** 543210543210 Video display Text memory B800H Example 4-6: From Brey’s Book 160 **** **** SI DI
14
INS Instructions INSB – Input String Byte, from I/O device to memory location Table 4-14: From Brey’s Book
15
Example Read 50 bytes of data from an I/O device whose address in 03ACH and store the data in LISTS array Example 4-7: From Brey’s Book
16
OUTS Instructions OUTSB – Output String Byte, from string memory location to I/O device Table 4-15: From Brey’s Book
17
Example Transfer data form memory array (ARRAY) to an I/O device at I/O address 3ACH Example 4-8: From Brey’s Book
18
Agenda String Data Transfer Instructions – The Direction Flag – LODS Instructions – STOS Instructions – MOVS Instructions – INS and OUTS Instructions More Examples
19
Concatenate Two Input Strings Then Display Input String 1: Hello Input String 2: World! Concatenated String: Hello World! Display message 1 Read first string Display message 2 Read second string Concatenate the two strings Display the result
20
Display message 1 Read first string Display message 2 Read second string Concatenate the two strings Display the result Display message 1 Read first string
21
Display message 1 Read first string Display message 2 Read second string Concatenate the two strings Display the result Display message 2 Read second string
22
Display message 1 Read first string Display message 2 Read second string Concatenate the two strings Display the result Concatenate the two strings Display the result
23
Mid Term, Fall 2010 October 30, Saturday At 9:00 AM to 10:30 NAC 311
24
References Ch 11, Assembly Language Programming – by Charls Marut Section 4-4, Intel Microprocessors – by Brey
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.