Турбо отладчик (Turbo Debugger) 3.0

При выполнении команды обработки строк


            При выполнении команды обработки строк связанные с ней  ука-
       затели (SI,  DI или оба) получают положительное или отрицательное
       приращение. Это зависит от состояния флага направления.
            С помощью команды CLD флаг направления может быть  сброшен в
       0.  В этом случае при выполнении команд обработки строк указатель
       получает положительное приращение (смещается  в  сторону  старших
       адресов).  С помощью команды STD флаг направления устанавливается
       в 1.  В этом случае указатель получает  отрицательное  приращение
       (сдвигается в сторону младших адресов). После того, как флаг нап-
       равления был установлен в определенное состояние,  он будет оста-
       ваться в нем до тех пор, пока не будет выполнена еще одна команда
       CLD или STD, или пока значения флагов не будут извлечены из стека
       с  помощью команды POPF или IRET.  С одной стороны,  удобно иметь


       возможность устанавливать флаг направления в определенное состоя-
       ние  только  один  раз,  а затем выполнять серию команд,  которые
       должны использовать заданное направление.  С другой стороны,  это
       может  привести  к  появлению неустойчивых и труднообнаруживаемых
       ошибок, в результате которых команды обработки строк работают по-
       разному  в  зависимости от работы команд,  которые были выполнены
       значительно раньше.
                Ошибки при повторении команд сравнения строк
       -----------------------------------------------------------------
            Команда CMPS  сравнивает содержимое двух областей памяти,  а
       команда SCAS сравнивает содержимое накапливающего регистра с  со-
       держимым  области памяти.  Когда перед одной из этих команд стоит
       префикс REPE, она выполняет сравнение, либо пока CX не становится
       равным  нулю,  либо  пока не обнаружится,  что операнды не равны.
       Когда перед командой стоит префикс REPNE,  она выполняет  сравне-

Содержание раздела