home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.pascal.borland      Borland Pascal was actually pretty neat      2,978 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,913 of 2,978   
   Dwayne to Ruud Baltissen   
   Re: Writing an intterupt procedure: info   
   03 Jun 14 09:08:38   
   
   From: dwjozo@gmail.com   
      
   Ruud,   
      
   I can send you LIBR.PAS   
   which contains some INT routines   
   to get DATE TIME, etc.   
      
   Shalom   
   Dwayne   
      
   On Sunday, June 1, 2014 6:53:34 AM UTC-6, Ruud Baltissen wrote:   
   > Hallo allemaal,   
   >   
   >   
   >   
   >   
   >   
   > Linux is mainly written in C. So I wanted to write an OS written in Turbo   
   pascal. Just for fun and to see if it could be done at all. To be honest, I   
   was suprised how quickly I could manage to get 'A:\>' on the screen.   
   >   
   >   
   >   
   > But to the subject. I need to implement the DOS routines, INT $21, the   
   routines that handles commands like VER, TIME and DATE. One way I can do it is   
   in assembler like:   
   >   
   >   
   >   
   >   
   >   
   > procedure INT21; assembler;   
   >   
   > asm   
   >   
   >   cmp  ah,30h       { get the DOS version}   
   >   
   >   jne  @next   
   >   
   >   
   >   
   >   call DosVersion   
   >   
   >   jmp  @end   
   >   
   >   
   >   
   > @next:   
   >   
   >   .....   
   >   
   >   
   >   
   > @end:   
   >   
   >   iret   
   >   
   > end;   
   >   
   >   
   >   
   >   
   >   
   > But I prefer an all Turbo Pascal solution, thus:   
   >   
   >   
   >   
   >   
   >   
   > {$F+}   
   >   
   > procedure INT21; interrupt;   
   >   
   > begin   
   >   
   >   .....   
   >   
   > end;   
   >   
   > {$F-}   
   >   
   >   
   >   
   >   
   >   
   > As you can see, just dots. I need to check AH in one or anothe way and I   
   have no idea how. Using REGISTERS doesn't work, I tried in various ways. So   
   how can I check the value of register AH (and all the others of course)?   
   >   
   >   
   >   
   > Thank you in advance!   
   >   
   >   
   >   
   >   
   >   
   > Kind regards, Ruud Baltissen   
   >   
   > www.Baltissen.org   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca