Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2009, 12:19   #1
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию Отсчет времени в pascal с помощю встроенного assemblera?

Есть программа на assemblere
Код:
program m1_z1;
uses crt;
var a,x:array[1..10] of integer;
    b,co,i:integer;
label m,m1,m2,m3,m4,m5;
begin
 co:=1;
 randomize;
 clrscr;
 asm

  lea Si,A
  mov Cx,10
m:
  push Si
  push Cx
 end;
 b:=random(10)-5;
 write(b:3,' ');
  asm
  pop Cx
  pop Si
  mov Ax,b
  mov [Si],Ax
  inc Si
  inc Si
  loop m
  {preabrozovanie}
  end;
  writeln;
  writeln('jhkj');
  asm
  xor Bx,Bx
  lea Si,a
  lea di,x
  mov Cx,10
m4:
  mov bx,co
  mov ax,[si]
  cmp ax,bx
  jge m1
  mov bx,-1
  mov [di],bx
  jmp m3
m1:
  mov bx,co
  mov ax,[si]
  cmp ax,bx
  je m2
  mov bx,1
  mov [di],bx
  jmp m3
m2:
  mov bx,0
  mov [di],bx
m3:
  inc si
  inc si
  inc di
  inc di
  loop m4
 end;
writeln;
writeln;
asm
lea si,x
mov cx,10
m5:
mov ax,[si]
mov b,ax
push si
push cx
end;
write (b:3,' ');
asm
pop cx
pop si
inc si
inc si
loop m5
end;
readln;
readln;

end.
посдкажите как сделать так чтобы обработка массива происходила со скоростью 1 элимент в секунду
Geddar вне форума Ответить с цитированием
Старый 06.03.2009, 12:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну перед loop желательно Delay поставить.
Разорви его от остальных команд, или втупую замени его на For
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.03.2009, 12:30   #3
Geddar
Пользователь
 
Регистрация: 06.05.2008
Сообщений: 88
По умолчанию

Желательно написать именно на асемблере,
Цитата:
Ну перед loop желательно Delay поставить
Это как? Просто поставить и все

Код:
...
  inc si
  inc si
  inc di
  inc di
  Delay
  loop m4
а что имнно эта команда дает, как ей сообщить время на которое паузу ставить надо?
P.S.: Задачу другу пишу, у него 40 мин осталось, я уже весь интернет перерыл, ничего не нашел, вы последняя надежда

Последний раз редактировалось Geddar; 06.03.2009 в 12:34.
Geddar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать отсчет времени? Aboltus Общие вопросы Delphi 11 24.05.2011 20:45
Работа с Socket-ом c помощю WinAPI 69 region Помощь студентам 13 11.04.2008 17:22
Организация поиска с помощю Полей со списком Ice_Juice Microsoft Office Access 1 16.03.2008 01:26
Обратный отсчет в прогрессбар Stanislav Общие вопросы Delphi 3 09.01.2008 16:49
Отсчет времени в С Raptor Помощь студентам 13 29.12.2007 16:32