![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
kostyantmb |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
Можно ли в Borland C++ 3.11 for DOS использовать rdtsc для последующего определения с помощью неё тактовой частоты процессора???
Если можно, то как? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
можно.
точно так же как и под окнами... xor eax, eax CPUID RDTSC mov [clock], EAX ... xor eax, eax CPUID RDTSC SUB eax, [clock] -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
В окне Win9x — вылетать будет...
Я так пробовал. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
видать не так пробовал -- ничего не вылетало...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Имеется в виду программа DOS (Multi-Edit)
Если туда ставишь RDTSC, то в окне Win9x - недопустимая команда Win9x — не NT-based system Конкретно — Millennium Что там не так можно сделать — два байта команда (и всё) |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
что за "программа DOS (Multi-Edit)"?
насчет линолеума -- не знаю, но в универе под 98-й без проблем шло... + под 2000 (и ХР), который гораздо строже относятся к подобным коммандам тоже все без проблем работает... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Multi-Edit for DOS Version 7.00 Professional
released 1993 |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
и о чем это говорит? -- Multi-Edit ( for DOS )-- жуткое крывулище...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
MultiEdit 7 - штука кульная, не нада ляля
![]() Вот тока куда в него и как "поставили" инструкцию RDTSC ?? ![]() Это сообщение отредактировал(а) Crait - 20.9.2005, 14:48 |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Добавлено @ 15:11 WRMSR я комментировал, знаю, что за штука... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
э... и при чем тут этот код?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Вот тока куда в него и как "поставили" инструкцию RDTSC ??
это ответ на вопрос выше |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
ты, наверное, не заметил, но там кроме этой инструкции есть еще несколько. среди них -- вызов прерывания. если именно этот код ты и вставлял -- ничего удивительного в том, что окна его не пропускали.
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Без этой инструкции (если NOP NOP) — всё работало!
Это же мой код — с "нуля". Добавлено @ 16:51 Да и ругались именно на RDTSC (PC там был — на ней) |
|||
|
||||
kostyantmb |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 1.12.2004 Репутация: нет Всего: нет |
Дак как это всё-таки на С реализовать???
Там все не так как под окнами, пробовал! Это сообщение отредактировал(а) kostyantmb - 21.9.2005, 06:30 |
|||
|
||||
SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
функция-вставка на асме
типа #pragma warning( disable : 4035 ) // no return value __forceinline DWORD rdtsc() { __asm rdtsc // edx:eax } #pragma warning( default : 4035 ) DWORD мне хватает... Если надо hi-dword, думай сам... это, конечно, VC6, но делай аналогично... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |