| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Таймер. Скорость выполнения арифм-х операций. |
| Автор: Joker07 5.7.2008, 20:00 | ||
| Привет Vingrad. Помогите пж-та разобраться с программой, определяющей скорость выполнения трех операций: сложение и вычитание двух слов, находящихся в регистрах, и умножения двух слов. Скорость тут определяется путем фиксации и чтения счетчика канала 0. Ассемблер я начал изучать совсем недавно, поэтому не совсем понимаю, как работает код программы. Кто понял о чем речь, пж-та, добавьте свои комментарии и исправьте мои, я один не справлюсь
|
| Автор: MAKCim 5.7.2008, 21:10 |
| PIT не подходит для вычисления времени выполнения одной инструкции |
| Автор: Joker07 6.7.2008, 11:13 |
| А то такое PIT? Это всмысле таймер? Задание составлял преподаватель, там было указано использовать таймер, канал 0. |
| Автор: W4FhLF 6.7.2008, 11:28 |
Скажи преподавателю, что он муд... На каком процессоре и в какой среде запускается программа? |
| Автор: MAKCim 6.7.2008, 11:57 | ||
Programmable Interrupt Timer
какой результат выполнения? |
| Автор: Joker07 6.7.2008, 13:59 |
| Результат выполнения на процессоре Athlon 3000+, Среда - Windows XP: Время выполнения одной операции add 0,000007560 Время выполнения одной операции sub 0,000005880 Время выполнения одной операции mul 0,000009240 |
| Автор: Joker07 6.7.2008, 17:26 |
| Да уж |
| Автор: W4FhLF 6.7.2008, 17:37 | ||
Программа работает неверно, она выдаёт неверные результаты. Более того, задача в текущей постановке сама по себе неверна. В итоге ты получишь неверное представление о предмете изучения, а преподаватель продолжит "учить". А что тебе конкретно непонятно в коде выше? PS Где учишься, если не секрет? |
| Автор: Joker07 6.7.2008, 17:56 |
| Я понимаю работу программы только в общем ключе - программа работает с таймером, используя канал 0, при помощи функции 40h. При помощи 43h записывает данные в порт, используя 40h считывает данные из порта. А что там передается в регистры, т.е. что с чем складывается/вычитается/умножается, как это конкретно по коду происходит (построчно), я не понимаю. PS Учусь в ДГТУ (г.Ростов-на-Дону). PPS Прогу уже показывал, про саму работу программы препод отозвался нормально, типа работает. Теперь нужно объяснить ему, но как, я ведь сам толком не понимаю... |
| Автор: MAKCim 6.7.2008, 18:58 | ||||
аналогичные действия производятся после выполнения нужной инструкции в итоге мы получаем 2 значения счетчика: перед и после выполнения инструкции второе меньше первого, т. к счетчик уменьшается разность двух значений "определяет время выполнения инструкции" |
| Автор: Joker07 6.7.2008, 22:17 | ||
Спасибо. Но я все еще много чего не понимаю, а именно:
|
| Автор: MAKCim 7.7.2008, 10:54 | ||
|
| Автор: Joker07 7.7.2008, 14:16 |
| Теперь понятно. |