Hoi, ik heb dit programma in Turbo Pascal moeten typen, maar nu is het de bedoeling dat we er een verslagje van maken waarin staat wat alles precies doet. Kan iemand helpen?

Met dit programma kun je printers aansturen via DOS, BIOS en de I/O-poorten.
Alvast bedankt
program ParralelIO;
uses dos;
const DosIntr = $21;
Lptintr = $17;
Lpt1Data = $378;
Lpt1Status = $379;
Lpt1Control = $37A;
var Regel: string;
I: Integer;
Via: char;
procedure PrintViaDos(ch: char);
var regs: registers;
begin
Regs.ah :=5;
Regs.dl :=ord(ch);
Intr(DosIntr, Regs)
end;
procedure PrintViaBios(ch: char);
var regs: registers;
begin
Regs.ah :=0;
Regs.al :=ord(Ch);
Regs.dx :=0;
Intr(LptIntr, Regs)
End;
procedure PrintViaPorts(ch: char);
var control: integer;
begin
repeat
until (port[Lpt1status] and $80) <>0;
Port[Lpt1Data] :=ord(ch);
Control :=port[Lpt1Control];
Port[Lpt1Control] :=Control or $01;
Port[Lpt1Control] :=Control and $FE
{*
* repeat
* until (Port[Lpt1Status] and $40) = 0;
*}
end;
begin
writeln('typ een regel in die op de printer moet worden afgedrukt');
readln(regel);
write('via (D)os, (B)ios, of I/O (P)oorten?');
readln(via);
case Via of
'D','d': begin
for I :=1 to length(regel) do
PrintViaDos(Regel[i]);
PrintViaDos(Chr(13));
PrintViaDos(Chr(10))
end;
'B','b': begin
for I := 1 to length(regel) do
PrintViaBios(regel[i]);
PrintViaBios(Chr(13));
PrintViaBios(Chr(10))
end;
'P','p': begin
for I :=1 to length(regel) do
PrintViaPorts(regel[i]);
PrintViaPorts(Chr(13));
PrintViaPorts(Chr(10))
end;
end;
end.