Программирование на JAVA

Рис. 6.11. Программа для процессоров IA-32, вычисляющая скалярное произведение двух векторов

Программа сортировки байтов

int main (int argc, char*, argv[])

{

            for (j=n-1; j>0; j=j-1)

            {for(k=j-1; k >= 0; k = k - 1)

                       {if        (LIST[k] >  LIST[j])

                                   {TEMP = LIST[k];

                                     LIST[k] = LIST[j];

                                     LIST[j] = TEMP;    

                                   }

                       }

            }

}

       

Рис 6.12. Программа сортировки байтов для процессоров IA-32 на языке С

На рис. 6.13, вы видите программу для процессора IA-32, выполняющую сорти­ровку байтов. Регистр ЕАХ инициализируется значением LIST и используется в качестве базо­вого регистра для доступа к элементам списка при базовой индексной адресации. Регистр EDI служит индексным регистром для внешнего цикла (индекс j), а ре­гистр ЕСХ — индексным регистром для внутреннего цикла (индекс k). В регистре DL содержится текущий наибольший байт сортируемого подсписка. Для замены элементов LIST(k) и LIST(j) программе требуются три команды, а также регистр для временного хранения данных.


<< назад вперед >>