String Manipulation Instruction
A series of words or data bytes are available in memory at consecutive locations, to be mention to individually or collectively, are known as byte strings or word strings or byte strings. For instance, a string of characters can be located in consecutive memory locations, where each character can be represented by its ASCII equivalent. For mention to a string, two parameters are needed,
(a) Length of the string and
(b) Starting or ending address of the string.
The length of a string is generally stored as count in the CX register. In case of 8085, same structures may be set up by counter and the pointer arrangements. The counters and pointers can be modified at each iteration until the needed condition for proceeding further is satisfied. Instead, the 8086 supports a set of more powerful instructions for string manipulations. In case of 8086 string instructions, the decrementing or incrementing of the pointer depends on the direction flag (DF) status. If it is a byte string operation then the index registers are updated by one. Instead, if it is a word string operation then the index registers are updated by two. The counter in both of the cases is decremented by one. It consisits of REP, MOVSW/MOVSB, CMPS, SCAS, LODS, STOS.