Ассемблер и программирование для IBM PC


          

Ассемблер для IBM PC. Глава


Ассемблер для IBM PC. Глава 7 149
и числа циклов Метка: пересылка одного байта увеличение адресов на 1 уменьшение счетчика на 1: если счетчик не ноль, то идти на метку если ноль, возврат
3. Представьте программу в виде логических блоков, следую щих друг за другом. Процедуры не превышающие 25 строк (размер экрана) удобнее для отладки.
4. Пользуйтесь тестовыми примерами программ. Попытки запом нить все технические детали и программирование сложных программ "из головы" часто приводят к многочисленным ошибкам.
5. Используйте комментарии для описания того, что должна делать процедура, какие арифметические действия или операции сравнения будут выполняться и что делают редко используемые команды. (Например, команда XLAT, не имеющая операндов).
6. Для кодирования программы используйте заготовку програм мы, скопированной в файл с новым именем.
В следующих программах данной книги важным является использование команды LEA, индексных регистров SI и DI, вызываемых процедур. Получив теперь базовые знания по ассемблеру, можем перейти к более развитому и полезному программированию.
ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ ------------------------------------------------------------
ъ Метки процедур (например, B20:) должны завершаться двое точием для указания типа NEAR. Отсутствие двоеточия приводит к ассемблерной ошибке.
ъ Метки для команд условного перехода и LOOP должны лежать в границах -128 до +127 байт. Операнд таких команд генерирует один байт объектного кода. Шест. от 01 до 7F соответствует десятичным значениям от +1 до +127, а шест. от FF до 80 покрывает значения от -1 до +128. Так как длина машинной команды может быть от 1 до 4 байт, то соблюдать границы не просто. Практически можно ориентироваться на размер в два экрана исходного текста (примерно 50 строк).
ъ При использовании команды LOOP, инициализируйте регистр CX положительным числом. Команда LOOP контролирует только нулевое значение, при отрицательном программа будет продолжать циклиться.
Ассемблер для IBM PC. Глава 7 150

Содержание  Назад  Вперед