Alexeyslav писал(а):...
Категорически не соглашусь с вами! Ассемблер изначально предполагает тщательное планирование. И документирования в том или ином виде. Написание отдельных документов, комментарии, рисование алгоритмов. А также следование определённым правилам. Стиль и свод правил каждый программист вырабатывает сам. Есть и общепринятые правила.
Регистры. Нужно сразу и жестко, раз и навсегда определить, как и какие регистры использовать. Глобальные, часто используемые, служебные, временные.
Модульность. Нет ничего хорошего в том, что вся программа представляет из себя огромную простыню. Это как минимум затрудняет чтение программы. Программа должна быть разбита на логические блоки. В идеале следует добиться следующего: каждый модуль должен быть максимально самостоятельным. У такого подхода следующие преимущества:
В разы ускоряется создание проектов. Проекты собираются как конструктор из кубиков-модулей.
Чтобы не было проблем с регистрами нужно следовать правилам и тщательно отслеживать регистры в каждом модуле. Сохранять и восстанавливать контекст при необходимости.
Память. Максимально исключить ошибки можно единственным способом: использование не абсолютных адресов, а меток. И, естественно, тщательно проверять все операции с памятью, чтобы не выйти за пределы диапазонов.