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
Write an assembly program that adds the elements in the odd indices of the following array. Use LOOP. What is the final value in the register?

move a byte string ,16 bytes long from the offset 0200H to 0300H in the segment 7000H

Write a MC68HC12 assembly language program to average ten 16-bit values that are stored starting at address $1100. Place the two-byte result at $1110. Use indexed addressing. Us

You will need to upload your main.c and factorial.s files and a .jpg photo of the output on your board using the Vista assignment upload features.  It must be submitted by the dead

AAS: ASCII Adjust AL After Subtraction AAS instruction correct the result in the AL register after subtracting operation of two unpacked ASCII operands. The result is in unpacked

Using DEBUG DEBUG.COM is a DOS efficacy that facilitates the trouble-shooting and debugging of assembly language programs. In particular case of personal computers, all of th

I can get it to copy the string but can''t get it to reverse it.

can any one help me in my project by using assembly language

Conditional branch Instruction When these type of instructions are executed, they transfer control of execution to the address mention relatively in the instruction, provided t

i have trying to do the homework but there is a mistake. (Counting positive and negative numbers and computing the average of numbers) write a program that reads an unspecified nu