Лабораторная работа: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера

DOIT Near _TEXT:0054

DONE Near _TEXT:0078

ELSE_1 Near _TEXT:0037

FOR_B_1 Near _TEXT:0010

MAIN Near _TEXT:0000

PUTI2 Near _TEXT:0068

SL_ITOA Near _TEXT:0041

SL_UTOA Near _TEXT:005C

__BUFRW Byte DGROUP:0000

Groups & Segments Bit Size Align Combine Class

DGROUP Group

STACK 16 0100 Para Stack STACK

_DATA 16 00FF Word Public DATA

_TEXT 16 0080 Word Public CODE


3. Машинно-зависимая оптимизация кода ассемблера

Машинно-зависимая оптимизация предполагает:

1) Использование регистров процессора вместо ячеек оперативной памяти.

2) Использование непосредственно заданных операндов.

3) Использование косвенной адресации, когда операнд хранит адрес операнда.

4) Ограничение использования стека.

программа оптимизация ассемблер код

4. Машинно-независимая оптимизация кода ассемблера

Машинно-независимая оптимизация предполагает:

1. Одним из важнейших источников оптимизации кода является удаление общих подвыражений, т.е. подвыражений, которые встречаются в нескольких местах программы и вычисляют одно и то же выражение.

2. Другим источником оптимизации кода является удаление инвариантов цикла. Так называются подвыражения внутри цикла, результирующие значения которых не изменяются внутри цикла при переходе от одной итерации к другой. Поскольку для большинства программ основное время работы приходится на выполнение циклов, экономия времени от подобной оптимизации может быть весьма существенной.

3. Еще один источник оптимизации кода состоит в замене менее эффективных операций на более эффективные.

Выводы

До оптимизации исполняемый файл составлял 660 байт, а после оптимизации 640 байт.

В ходе оптимизации были произведены следующие действия:

К-во Просмотров: 224
Бесплатно скачать Лабораторная работа: Машинно-зависимая и машинно-независимая оптимизация кода ассемблера