Writing an intterupt procedure: info needed

27 views
Skip to first unread message

Ruud Baltissen

unread,
Jun 1, 2014, 8:53:34 AM6/1/14
to
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

Dwayne

unread,
Jun 3, 2014, 12:08:38 PM6/3/14
to
Ruud,

I can send you LIBR.PAS
which contains some INT routines
to get DATE TIME, etc.

Shalom
Dwayne
Reply all
Reply to author
Forward
0 new messages