"Оптимизация для PENTIUM процессора" - читать интересную книгу автораhttp://www.x86.org
Есть не плохой ShareWare-редактор ASMEDIT, с online-справочной системой и кодами инструкций. Доступен на: http://www.inf.tu-dresden.de/~ok3/asmedit.html (Прим переводчика) От себя могу порекомендовать очень неплохой FreeWare-редактор TasmEd (by Eugeny Nonko), доступный на: ftp://bbs.biserv.altai.su/incoming/RoS/tasmed.rar 3. ОТЛАДКА И ПРОВЕРКА ===================== Отладка ассемблерного кода может быть весьма тяжелой и досаждающей, как вы, наверное, уже сами убедились. Я рекомендую начинать писать ту часть кода, которую вы хотите оптимизировать, как подпрограмму на языке высокого уровня. Затем напишите напишите программу тестирования, которая тщательно проверит вашу подпрограмму. Убедитесь, что программа тестирования прошлась по всем ветвям вашей подпрограммы и все особые случаи выполнились. После того, как вы убедились, что ваша подпрограмма, написанная на языке высокого уровня работает, вы можете перевести ее на ассемблер (некоторые языки высокого уровня способны сделать и эту работу) и продолжить тестирование. И только после этого вы можете приступать к оптимизации. После каждой убедиться, что все работает правильно. Пронумеруйте различные версии вашей программы, что бы вы могли возвратиться к предыдущей модификации/иям, если обнаружите ошибку, незамеченную программой тестирования. (Например использование неверного адреса). 4. МОДЕЛЬ ПАМЯТИ ================ Pentium изначально разрабатывался для 32 битного кода и 16 битный код исполняется на нем медленнее. Тот же эффект получается при сегментировании кода и данных, желательно использовать flat-модель памяти, современные операционные системы поддерживают этот режим (т.н. Windows'95, OS/2, или 32-битный DOS-extender). По этому в данном руководстве, если не оговорено особо, все примеры расчитаны на 32 битную flat-модель памяти. 5. ВЫРАВНИВАНИЕ =============== Все данные в RAM должны быть выравнены на адрес, делящийся на 2, 4, или 8, согласно следующей схеме: размер операнда выравнивание ---------------------------------- |
|
|