program summul(onput,output);
var
a,b,c,d:array[1..4,1..4]of real;
e,f,g,h:array[1..6,1..6]of real;
i,j:integer;
procedure print(var a:array[l1..u1 :integer;l2..u2: integer]of real);
var
i,j:integer;
begin
for i:=l1 to u1 do
begin
for j:=l2 to u2 do
write(a[i,j]:8:2);
writeln
end;
writeln
end;
procedure sm(var a,v,b,c,d:array[l1 ..u1:integer;l2..u2:integer]of real);
var
  for i:=l1 to u1 do
    for j:=l2 to u2 do
      begin
       c[i,j]+b[i,j];
       s[i,j]=0;
       for k:=l1 to u1 do
        d[i,j]:= d[i,j]+a[i,l]*b[k,j];
        end
end;
begin
for i:=1 to 4 do
for j:=1 to 4 do
     readln(a[i,j],b[i,j]);
     for i:= 1 to 6 do
      readln(e[i,j],f[i,j]);
sm(a,b,c,d);
print(a);
print(b);
print(c);
print(d);
sm(e,f,g,h);
print(e);
print(f);
print(g);
print(h);
end.

编译错误:procedure print(var a:array[l1..u1 :integer;l2..u2: integer]of real);提示of expected,请告诉我如何处理?