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

либо пока CX не становится


       ние, либо пока CX не становится равным нулю, либо пока не обнару-
       жится что операнды равны.  К несчастью, легко перепутать, где ка-
       кой префикс нужно использовать.
                    Ошибки при назначении сегмента строк
       -----------------------------------------------------------------
            Все строковые команды по  умолчанию  используют  в  качестве
       сегмента исходных данных (если он есть) сегмент DS,  а в качестве
       сегмента результирующих данных (если он есть) сегмент  ES.  Легко
       забыть об этом и попытаться,  скажем, выполнить команду STOSB над
       сегментом данных, поскольку все данные, обрабатываемые не строко-
       выми командами, обычно находятся именно в этом сегменте.
                Неправильное преобразование из байта в слово
       -----------------------------------------------------------------



       TDeb 3.0 #2-3               = 142 =
            В общем случае,  для команд обработки строк  желательно  ис-
       пользовать  максимально возможный размер данных (обычно слово,  а
       для процессора 80386 - двойное слово),  поскольку с данными боль-
       шего размера эти команды обычно работают быстрее.
            Однако здесь имеются две ловушки.  Во-первых, преобразование
       из количества байт в количество слов с помощью простой команды:
            shr cx,l
       приведет к потере байта,  если CX имеет нечетное  значение,  пос-
       кольку младший значащий бит будет сдвинут за пределы слова.
            Во-вторых, следует помнить, что команда SHR делит количество
       байт на два.  Использование,  скажем, команды STOSW с количеством
       байт,  а не слов,  может уничтожить другие данные и вызвать самые
       разнообразные ошибки.
                     Использование нескольких префиксов
       -----------------------------------------------------------------
            Команды обработки  строк  с  несколькими префиксами работают
       ненадежно, и их следует по возможности избегать.

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