![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 05.04.2011
Сообщений: 1
|
![]()
Есть задание написать функцию которая в 2 раза замедлит исполнение программы на С. Идея заключается в том чтобы как то изменить 8 прерывание. Сама функия не делает пауз только изменяет механизм и выходит.
например int main() { unsigned long int i, j, c; i = j = 0; printf("Slow?\n"); c = getchar(); system("time"); if (c == 'y') slow(); while(j < 10) { i++; if ((i % 10000000) == 0) j++; }// while if (c == 'y') unslow(); system("time"); }// main Надо написать функцию Slow(); и Unslow(); Дан пример запуска _______________________ D:\>SLOW1.EXE Slow? n Current time is 18:42:40.07 Enter new time: Current time is 18:42:55.78 Enter new time: ___________________ D:\>SLOW1.EXE Slow? y Current time is 18:43:07.20 Enter new time: Current time is 18:43:38.73 Enter new time: D:\> __________________________ Написал вот это и получается наоборот что время становится в 2 раза меньше а не больше volatile int cnt=0; void interrupt (*int8save)(void); void interrupt new8int(void){ asm cli if (cnt==1) {int8save();cnt=0;} else { cnt++; asm mov al,20h asm out 20h,al } asm sti } void slow(void){ int8save=getvect(8); setvect(8,new8int); } void unslow(void) { setvect(8,int8save); } |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать функцию | Krechet | Помощь студентам | 0 | 20.03.2011 16:40 |
Написать функцию (С++) | dmitriy0097 | Помощь студентам | 2 | 12.12.2010 15:46 |
написать функцию | akaaka | Общие вопросы Delphi | 2 | 22.05.2010 12:59 |
помогите написать функцию | SkCr | Помощь студентам | 2 | 14.03.2009 21:24 |