Хотя регистры общего назначения в большинстве случаев полностью взаимозаменяемы, команды работы со строками требуют использования двух специальных регистров. Строки источнока и приемника находятся в памяти, адресуемой регистрами ESI и EDI. Регистр ESI указывает на операнд-источник. По умолчанию, регистр ESI используется вместе с сегментным регистром DS. Префикс замены сегмента позволяет использовать регистр ESI вместе с сегментными регистрами CS, SS, ES, FS или GS. Регистр EDI указывает на операнд назначения. Он использует сегмент, на который который указывает сегментный регистр ES; замена этого сегмента запрещена. Использование двух различных сегментных регистров в одной команде позволяет работать со строками, расположенными в различных сегментах.
Когда в командах работы со строками используются регистры ESI и EDI, они автоматически увеличиваются или уменьшаются после каждой итерации. Действия над строками можно начинать выполнять со старших адресов по направлению к младшим адресам, или они могут выполняться, начиная с младших адресов по направлению к старшим адресам. Направление операций управляется флагом DF. Если флаг очищен, значения регистров увеличиваются. Если флаг установлен, значения регистров уменьшаются. Команды STD и CLD устанавливают и очищают этот флаг. Программисты всегда должны поместить нужное значение во флаг DF, прежде чем использовать команды работы со строками.