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,912 of 2,978    |
|    Ruud Baltissen to All    |
|    Writing an intterupt procedure: info nee    |
|    01 Jun 14 05:53:34    |
   
   From: rbaltissen@gmail.com   
      
   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