ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - Страница 24

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

add

pop FirstVar

Эти стековые операции не являются командами процессора, а представляют последовательность операций, обеспечивающих получение необходимого результата. Компиляторы часто производят оптимизацию этой последовательности операций, прежде чем преобразовать их в команды процессора. В некоторых процессорах такой код может быть очень эффективным. В зависимости от качества компилятора полученный объектный код может быть также эффективен, как код, написанный вручную, или в 100 раз (по количеству требуемых команд и циклов их выполнения) менее эффективным.

Для некоторых компиляторов представление реализуемой процедуры с помощью нескольких командных строк может быть более эффективным по сравнению с их представлением в виде одной строки. Например, процедура, описанная строкой FirstVar = SecondVar + ( ThirdVar * FourthVar ) ;

более эффективно реализуется в виде следующей последовательности операций:

Temp = ThirdVar * FourthVar; FirstVar = SecondVar + Temp;

Другое важное соображение касается того, как компилятор преобразует числа и обрабатывает промежуточные переменные. Если в приведенном выше примере переменная «FirstVar» не определена как порт ввода-вывода, то можно представить программный код в следующем виде:

Go to Top