Movsw/movsb-string manipulation instruction-microprocessor, Assembly Language

MOVSW/MOVSB : Move String Word or String Byte: Imagine a string of bytes, stored in a set  of consecutive memory locations is to be moved to another set of  the destination locations. Starting byte of the source string is located in the memory location whose address can be computed by using DS (data segment) and SI (source index) contents. Starting address of the destination locations where this string has to be relocated is given by ES (extra segment) and Dl (destination index) contents. Starting address of the source string is 10H*DS+[SI],  whereas the starting  address of the destination  string is 10H*ES+[DI].  The MOVSB/MOVSW instruction therefore, moves a string of bytes/ words pointed to by DS: SI pair (source) to the memory location pointed to by ES: Dl pair (destination).  The REP instruction prefix is utilized with MOVS instruction to repeat it by a value given in the register counter (CX). The length of word string or byte string ought to be stored in register CX register. Flags are remaining unaffected by this instruction.

After the MOVS instruction is executed, the index registers are automatically updated and register CX is decremented. The decrementing or incrementing of the pointers, for example DI and Sl depend on the direction flag DF. If flag DF is 0, the index registers are incremented, or else, they are decremented, in all casa of the string manipulation instructions. Following string of instructions explain the execution of the MOVS instruction.

Example :

1000_movsb.jpg

Posted Date: 10/12/2012 3:27:51 AM | Location : United States







Related Discussions:- Movsw/movsb-string manipulation instruction-microprocessor, Assignment Help, Ask Question on Movsw/movsb-string manipulation instruction-microprocessor, Get Answer, Expert's Help, Movsw/movsb-string manipulation instruction-microprocessor Discussions

Write discussion on Movsw/movsb-string manipulation instruction-microprocessor
Your posts are moderated
Related Questions
assembly language program to find larges number in an array

Program : Write an assembly program to find out the number of positive numbers and negative numbers from a given series of signed numbers. Solution : Take the i th num

Assembler Directives and Operators The major advantage of machine language programming is directly that the memory control is in the hands of the programmer, so that, he can be

Flag Register : 8086 has a 16-bit flag register which is divided into 2 parts, viz. (a)machine control flagsand (b)condition code or status flags. The condition code flag regi

For an 8088 the 2 addresses linked with an 8259A are normally consecutive, and the AO line is associated to the AO pin, but because there are just 8 data pins on the 8259A and the



GROUP : Group the Related Segments:- The directive which is used to form logical groups of segments with same purpose or type. This isused to inform the assembler to form a log

how to code

Project Description: Write an 80x86 assembly program that performs the following functions: Reads a set of integers from a file into an array. The data file name is to be