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

Это прекрасно, но если Val


                    I := 1;
                    while (I <= Count) and (List[I] <> Val) do
                            Inc(I);
                    if I <= Count then
                            FindVal := I
            end; { FindVal }
            Это прекрасно, но если Val не содержится в List и вы исполь-
       зуете обычное вычисление булевских выражений, здесь может возник-
       нуть ошибка этапа выполнения.  Почему? Потому что когда последний
       раз проверка выполняется в начале цикла while I будет равно Count
       + 1. Если Count = NLMax, вы выйдете за пределы List.
                    Ошибки, специфические для Ассемблера
       -----------------------------------------------------------------


            В каждом языке имеется свое множество ошибок, которые обычно
       очень  легко сделать, но не всегда просто обнаружить. Не является
       исключением и язык Ассемблера. Мы рассмотрим  некоторые  типичные
       ошибки, которые допускаются при программировании на Ассемблере, и
       дадим рекомендации, как можно их избежать.
                    Программист забывает о возврате в DOS
       -----------------------------------------------------------------
            В Паскале, Си и других языках программа завершается и  возв-
       ращается  в  операционную  систему  DOS  автоматически, когда нет
       больше выполняемого кода, даже если в программе отсутствует явная
       команда  ее  завершения. В языке Ассемблера это не так. Ассемблер
       выполняет только те действия, которые вы явно  указываете.  Когда
       вы запускаете программу, в которой отсутствует команда возврата в
       DOS, она просто продолжает работать до  конца  выполняемого  кода
       программы  и переходит в код, который находится в примыкающей па-
       мяти.

       TDeb 3.0 #2-3               = 139 =
                   Программист забывает об инструкции RET
       -----------------------------------------------------------------

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