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

*provided AS IS
-
- Сообщения: 41
- Зарегистрирован: 16 авг 2004, 22:21
- Откуда: Днепропетровск
- Контактная информация:
С помощью такого макроса я пытаюсь сделать задержку в 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
Vano, я же написал в самом начале:
ЗЫ. Кстати, а чем ax обнуляешь?
А ты CX обнуляешь. Получается задержка не большая чем 65535 микросекунд = 0.065 секунды. Ты ее не заметил. 5 секунд это кажется примерно 76 в cx.cx:dx = длительность задержки в микросекундах (cx - старшее слово)
ЗЫ. Кстати, а чем ax обнуляешь?
*provided AS IS