© Иван Рощин, Москва
| ZXNet | : 500:95/462.53 |
| : bestview@mtu-net.ru | |
| WWW | : http://www.ivr.da.ru |
Дата последнего редактирования: 26.02.2003.
| 1. |
Если ассемблер обеспечивает работу с блоками текста, в нём есть команда «удалить выделенный блок из текста». Но иногда бывает необходима противоположная команда удалить весь текст, кроме выделенного блока. |
|
| 2. |
Возможность превратить выделенный блок текста в комментарий и наоборот.
Разумеется, того же результата можно добиться при использовании директив условного ассемблирования, но предлагаемый способ более нагляден. |
|
| 3. |
Когда вы пишете достаточно большую программу, надо всё время помнить, какие метки вы уже в ней использовали, иначе можно повторно определить уже существующую метку. Тут могла бы помочь такая возможность: вы набираете строку с меткой, не задумываясь о том, встречалась она в тексте или нет, и когда курсор установлен на метку, вы нажимаете некоторую комбинацию клавиш, и производится проверка: не была ли эта метка уже определена в программе? |
|
| 4. |
Структуризация выделенного блока текста, т.е. после каждой команды передачи управления (JP, JR, DJNZ, RET) автоматически вставляется пустая строка. Это повышает удобочитаемость текста.
|
|
| 5. |
Перевод чисел в выделенном блоке текста из одной системы
счисления в другую, наподобие того, как это сделано в оболочке
|
|
| 6. |
Подсчёт байтов, занимаемых участком программы, находящимся в выделенном блоке текста.
|
|
| 7. |
Подсчёт числа тактов, за которое выполняются находящиеся в
выделенном блоке текста команды (это бывает необходимо при программировании
multicolorа и в других случаях, когда
|
|
| 8. |
Всем известна директива ассемблера «DB», позволяющая определить один или несколько байтов данных. В некоторых случаях более удобным может быть сокращённый способ записи этой директивы. Для совместимости с другими ассемблерами необходимо предусмотреть и обратное преобразование (всего текста или выделенного блока), при котором сокращённая форма записи превратится в полную.
|
|
| 9. |
Можно сделать программу более наглядной, значительно облегчить её написание и отладку, если вместо команды CP и следующей за ней команды условной передачи управления использовать намного более понятные операторы:
Вместо «IF A<(IX+5)» можно писать и «IF (IX+5)>A» ассемблер сам разберётся, какие команды формировать в объектном коде. Необходимо предусмотреть возможность перекодировки «нормальной» программы (всего текста или выделенного блока) в этот формат, и наоборот (для совместимости с другими ассемблерами). |
|
Другие мои статьи об усовершенствовании ассемблера:
|