Всем доброго времени суток!
Помогите оптимизировать код. Требуется минимальное время выполнения кода в цикле?
do /* реализация цикла чтения счетчика и подсчета тактов */
{
/* Запись в РУС команды защелкнуть данные счета */
outportb(0x43,0x00);
/* читаем значение LSB/MSB счетчика */
clk = ((inportb(0x40))) + (inportb(0x40)<<8);
/* суммируем число импульсов счетчика */
if (clk <= clk_1) clk_sum = clk_sum + (clk_1 - clk);
else clk_sum = clk_sum + clk_1 + (0xFFFF - clk);
clk_1 = clk; /* сохраняем текущее значение счетчика */
} while( clk_sum < clk_end );
Помогите оптимизировать код. Требуется минимальное время выполнения кода в цикле?
do /* реализация цикла чтения счетчика и подсчета тактов */
{
/* Запись в РУС команды защелкнуть данные счета */
outportb(0x43,0x00);
/* читаем значение LSB/MSB счетчика */
clk = ((inportb(0x40))) + (inportb(0x40)<<8);
/* суммируем число импульсов счетчика */
if (clk <= clk_1) clk_sum = clk_sum + (clk_1 - clk);
else clk_sum = clk_sum + clk_1 + (0xFFFF - clk);
clk_1 = clk; /* сохраняем текущее значение счетчика */
} while( clk_sum < clk_end );
Вкладення
-
31.1 КБ Перегляди: 190