OS/2 FAQ


OS/2 Programming FAQ - пpогpаммиpование. Статья 003

Q Как в програмке под дос отдавать тики оси?
A
(DZ FAQ) Vladimir Bogoryatskih, 2:5080/14.1

Unit TimeTask;

INTERFACE

{
TaskRec.OS
0 : No MultiTasking
1 : Windows
2 : OS/2
3 : DESQview
4 : TopView
}

Type
TaskRec = record
OS      : Word;
Version : Word; {writeln('Version ',hi(Version), '.', lo(Version) );}
Delay   : Word;
end;

Const
Task    : TaskRec = (
OS      : 0;
Version : 0;
Delay   : 100
);

Procedure TimeSlice;
Procedure InitMulti;

IMPLEMENTATION

uses dos;

Procedure InitMulti; Assembler;
Asm
mov  Task.OS, 0
mov  Task.Version, 0
mov  Ah, 30h
mov  Al, 01h
int  21h
cmp  Al, 20
je   @OS2
mov  Ax, 160Ah
int  2Fh
cmp  Ax, 0
je   @Windows
mov  Ax, 1022h
mov  Bx, 0000h
int  15h
cmp  Bx, 0
jne  @DESQview
mov  Ah, 2Bh
mov  Al, 01h
mov  Cx, 4445h
mov  Dx, 5351h
int  21h
cmp  Al, $FF
jne  @TopView
jmp  @Fin
@Windows:
Mov  Task.OS, 1
Mov  Task.Version, BX
jmp  @Fin
@OS2:
Mov  Task.OS, 2
Mov  Bh, Ah
Xor  Ah, Ah
Mov  Cl, 10
Div  Cl
Mov  Ah, Bh
Xchg Ah, Al
Mov  Task.Version, AX
jmp  @Fin
@DESQview:
mov  Task.OS, 3
jmp  @Fin
@TopView:
mov  Task.OS, 4
@Fin:
End;


Procedure TimeSlice; Assembler;
Asm
cmp  Task.OS, 0
je   @Fin
cmp  Task.OS, 1
je   @Win_OS2
cmp  Task.OS, 2
je   @Win_OS2
@DV_TV:
mov  Ax, 1000h
int  15h
jmp  @Fin
@Win_OS2:
mov  Ax, 1680h
int  2Fh
@Fin:
End;

end.

файл с этим модулем Timetask.pas


К предыдущей статье | К оглавлению раздела | К следующей статье

Вернуться к списку разделов FAQ.

Если у вас есть вопросы или пожелания, пишите, мы будем рады.

Данный FAQ cоставили Ivan Borovicov и Viatcheslav Odintsov (2:5020/181) на основе OS/2 FAQ Дмитрия Завалишина (dz) и материалов переписки в группе эхоконференций su.os2.*. Оформление статей: Николай Королев. Программирование JSP для RU/2: Евгений Кулешов. Благодарности: Дмитрию Максимовичу (MaximDim) за громадную помощь на первых этапах и Дмитрию Бану (banshee) за его помощь при проверке текста.



Новые статьи на нашем сайте:


Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ