Member
Статус: Не в сети Регистрация: 12.07.2005 Откуда: Млечный путь
И все же - кто скажет как частоту процессора определить на асме, не используя rdtsc? Нужен детект на 286-486 моделях, которые эту прекрасную инструкцию не поддерживают.
По идее нужно зафиксировать значение таймера, запустить достаточно долгий цикл, снять новое значение таймера. Потом кол-во тактов(затраченных процессором на выполнение цикла), поделить на разность значений таймера до и после. Вся загвоздка в том, что нужно знать кол-во тактов заранее. Вроде есть инструкции, которые выполняются одинаковое кол-во тактов на нужных моделях. Вот только проверить пока негде. Есть у кого какие соображения? Может сталкивались с подобной задачей?
_________________ В этом мире меня подводят доброта и порядочность...
Member
Статус: Не в сети Регистрация: 12.07.2005 Откуда: Млечный путь
L.A.W. 486 и 386 через eflags я уже различил. Тот код работает, но я не понимаю как как считается финальная частота от затраченных тактов и времени. Мне нужно обязательно понять. Читать из BIOS это не выход. С таймерами все ок вроде, надо сам цикл с правильными инструкциями.
_________________ В этом мире меня подводят доброта и порядочность...
написать-то возможно, но только пузырь на чем не пиши - толку мало будет, сам алгоритм крайне малоэффективен. а более сложный алгоритм реализовывать на асме полностью - имхо того не стоит. я бы порекомендовал, если нужна скорость - с+асм-вставки, если универсальность - с++ с шаблонами.
Не согласен с тобой, есть замечательная книжка Юрова Ассемблер ПРАКТИКА там полно самых изощрённых методов сортировки, едтножды стоит забить в процедуру и пользуйся сколько хочешь! Но есть маленькое но, читая не веришь что таое может сработать, спецом набил - проверил не работает, реально ошибка в алгоритме, хотя может просто опечатка, но таких опечаток хватает но в целом всем рекомендуЮ
А мне наоборот не понравилось. Особенно его манера в комментариях (в исходнике) не объяснять что и зачем, а просто дублировать инструкции на русском. Типа
Код:
mov AX,BX; Пересылаем содержимое AX в BX
Финогенов рулит! Реально стоящая книжка!
_________________ I L.A.W. you, baby!
For a GNU dawn! For freedom!
Member
Статус: Не в сети Регистрация: 12.07.2005 Откуда: Млечный путь
Есть. У меня в djvu формате, брал ее на нашей фтп, но она не открыта в инет. Вот ссылка на текстовую версию. Добавлено спустя 29 минут, 25 секунд
L.A.W. писал(а):
?Am(d)ber? писал(а): Юров неплохой автор,
А мне наоборот не понравилось. Особенно его манера в комментариях (в исходнике) не объяснять что и зачем, а просто дублировать инструкции на русском.
Блин, не надо придиратся. Я же сказал, что Зубков мне нравится больше. Юров неплох для обучения. К тому же он наиболее распространен в бумажном варианте.
_________________ В этом мире меня подводят доброта и порядочность...
Member
Статус: Не в сети Регистрация: 12.07.2005 Откуда: Млечный путь
Ыы, впарить как раз не получится, потомучто ей предварительно объяснить надо будет! Ж-)
Может поможешь? Ты все-таки намного опытнее, намного быстрее сообразишь что к чему...
_________________ В этом мире меня подводят доброта и порядочность...
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: Rostov-on-Don
Имеем экзешник программы написанный на Паскале. Закидываю его в TASM - всё работает. Как декопмилить экзешник, чтоб увидеть его код в ассемблерном виде?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения