Да, да..... С этой ошибкой разобрался... Теперь работает, только сохраняет в файл черный экран. Приведу код, правильно ли я вызов save_bmp поставил?
Код
program lab;
  uses crt,graph,BMP_PLUS;
  var a:array[1..10] of real; b:array[1..10] of real;
      t1,t2,t3,t4,a0,a1,e,dn:real;
      i,gd,gm,dp:integer;
begin clrscr;
  initgraph(gd,gm,'');
  line(50,30,50,400);
  line(50,400,600,400);
  for i:=1 to 11 do line(48,(400-30*i),52,(400-30*i));
  for i:=1 to 17 do line((50+30*i),398,(50+30*i),402);
  for i:=0 to 15 do begin
            dp:=20*i;
            dn:=0.384*0.01*dp;
            circle((50+round(dp*1.5)),(400-round(dn*300)),1);
            end;
  t1:=0; t2:=0; t3:=0; t4:=0; a0:=0; a1:=0; e:=1;
  a[1]:=330; b[1]:=1.110*0.0001;
  a[2]:=285; b[2]:=0.999*0.0001;
  a[3]:=255; b[3]:=0.888*0.0001;
  a[4]:=225; b[4]:=0.777*0.0001;
  a[5]:=195; b[5]:=0.666*0.0001;
  a[6]:=165; b[6]:=0.555*0.0001;
  a[7]:=135; b[7]:=0.444*0.0001;
  a[8]:=105; b[8]:=0.333*0.0001;
  a[9]:=75; b[9]:=0.278*0.0001;
  a[10]:=45; b[10]:=0.167*0.0001;
  for i:=1 to 10 do begin
            t1:=t1+a[i];
            t2:=t2+a[i]*a[i];
            t3:=t3+b[i];
            t4:=t4+a[i]*b[i];
            end;
  {writeln(t1:12:8);
  writeln(t2:12:8);
  writeln(t3:12:8);
  writeln(t4:12:8);} i:=0;
  while e>0.0000001 do begin
            i:=i+1;
            a0:=(t3-t1*a1)/10;
            e:=abs(t1*a0+t2*a1-t4);
            a1:=a1+0.000000000001;
            end;
  for i:=0 to 16 do begin
            dp:=20*i;
            dn:=10000*(a0+a1*dp);
            circle((50+round(dp*1.5)),(400-round(dn*300)),1);
            end;
  setcolor(red);
  for i:=1 to 10 do circle((50+round(a[i]*1.5)),(400-round(b[i]*300*10000)),1);
  save_bmp(0,0,getmaxx,getmaxy,'screen_l.bmp',0);
  readln;
end.