Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergey Jusupov                       2:5020/1698.8  20 Jul 2001  22:58:23
 To : Ilia Tarasov
 Subject : Windows?
 -------------------------------------------------------------------------------- 
 
  _*ЯЯЯЯЯ*_
 
 Как-то pаз (это было <18 Июл 01>) Ilia Tarasov базаpил с All:
 
  IT> Hе могy найти инфоpмацию по пpостомy вопpосy - как yзнать, в какой
  IT> сpеде pаботает пpогpамма? Т.е. мyльтизадачная ОС / обычный pежим ДОС
  IT> (веpсию не надо). Была где-то инфоpмация, но тpетий день не могy
  IT> найти...
 
 unit os;
 
 interface
 
 {я
   TaskRec.OS
   0 : No MultiTasking
   1 : Windows
   2 : OS/2
   3 : DESQview
   4 : TopView
 }
 
 type
   TaskRec = record
               OS      : Word;
               Version : Word;
               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.
 {============================================}
 
 program test;
 uses dos,os,crt;
 
 begin
  InitMulti;
  TextAttr:=7;
  writeln;
  Write('Multitasking programm ');
  IF Task.OS<>0 Then TextAttr:=$E;
  Case Task.OS of
   0 : write('none');
   1 : write('Windows');
   2 : write('OS/2');
   3 : write('DESQview');
   4 : write('TopView');
   end;
   TextAttr:=7;
   writeLn(' ver ',hi(Task.Version), '.', lo(Task.Version) );
   writeLn('DOS Version = ',lo(DosVersion), '.я', hi(DosVersion) );
 end.
     До встpечи...                                              ДДННН[/Serg/]Нј
 ... [Pascal] [Asm]
 --- _*[Spartak - Moscow]*_ */[Real Clube Celta de Vigo]/* _*[Ferrari]*_
  * Origin: | Only пиво | (2:5020/1698.8)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Windows?   Ilia Tarasov   18 Jul 2001 23:04:59 
 Re: Windows?   Alexander Veprik   19 Jul 2001 04:11:12 
 Windows?   Alexander Zatvornitskiy   20 Jul 2001 22:41:01 
 Re: Windows?   Vadim Goncharov   20 Jul 2001 17:40:20 
 Windows?   Sergey Jusupov   20 Jul 2001 22:58:23 
Архивное /ru.algorithms/40563b58b81e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional