program pantallas;
uses
crt, dos;
type
pantalla = array[1..25,1..80] of integer;
var
lineas : array[0..3] of ^pantalla;
reg : registers;
procedure moverpagina(maxp : byte);
var
n, i, d : byte;
cad : string;
tec : char;
begin
cad := 'Estamos En Pagina N0 '^M^J; {Pajina N 0}
lineas[0] := ptr($b800,0 * $1000);
cad[23] := char($30 + n);
for d := 1 to 22 do
lineas[0]^[2,20 + d] := 256 * (n + 8) + byte(cad[d]);
cad := 'Estamos En Pagina N1 '^M^J; {Pajina N 1}
lineas[0] := ptr($b800,1 * $1000);
cad[23] := char($30 + n);
for d := 1 to 22 do
lineas[0]^[4,20 + d] := 256 * (n + 8) + byte(cad[d]);
cad := 'Estamos En Pagina N2 '^M^J; {Pajina N 2}
lineas[0] := ptr($b800,2 * $1000);
cad[23] := char($30 + n);
for d := 1 to 22 do
lineas[0]^[6,20 + d] := 256 * (n + 8) + byte(cad[d]);
cad := 'Estamos En Pagina N3 '^M^J; {Pajina N 3}
lineas[0] := ptr($b800,3 * $1000);
cad[23] := char($30 + n);
for d := 1 to 22 do
lineas[0]^[8,20 + d] := 256 * (n + 8) + byte(cad[d]);
repeat
tec := readkey;
if tec in['0'..'3'] then
begin
reg.ax := $0500 + byte(tec) - $30;
intr($10,reg);
end;
until tec = '4';
end;
begin
clrscr;
textmode(c80);
moverpagina(3);
reg.ax := $0500;
intr($10,reg);
end.