Страница 2 из 2

Добавлено: 03 ноя 2004, 17:49
Vano
Может быть вот сейчас сижу и разбираюсь.

Добавлено: 03 ноя 2004, 20:56
Andy
Попробовал запустить прогу под DOSом всё равно никакой задержки не получилось
Не может быть. У меня даже работает в ДОСе через VMWare. Может задержка маленькая и ты ее не замечаешь? Положи в cx = 0ffffh :)

Добавлено: 04 ноя 2004, 17:32
Vano
С помощью такого макроса я пытаюсь сделать задержку в 5 сек. Запускаю из-под ДОСа, флаг cf=0, но задержки в 5 сек. все равно нету :( .

Код: Выделить всё

delay macro time
  push ax
  push cx
  push dx
  xor ax,ax
  mov   ah,86h 
  xor   cx,cx 
  mov   dx,time 
  int   15h 
  pop dx
  pop cx
  pop ax 
endm

Добавлено: 04 ноя 2004, 18:57
Andy
Vano, я же написал в самом начале:
cx:dx = длительность задержки в микросекундах (cx - старшее слово)
А ты CX обнуляешь. Получается задержка не большая чем 65535 микросекунд = 0.065 секунды. Ты ее не заметил. 5 секунд это кажется примерно 76 в cx.

ЗЫ. Кстати, а чем ax обнуляешь?

Добавлено: 04 ноя 2004, 19:13
Vano
ax обнулил на всякий случай. Думал может al тоже на что-то влияет и по-этому не работает. Попробую снова. :)

Добавлено: 04 ноя 2004, 20:01
Vano
Да получилось! СПАСИБО!!! :)