procedure addition;
{local declaration(s)}
var
val1, val2, sum : Integer;
begin
{clear previous screen before displaying anything new}
clrscr;
{initialise variables}
val1 := 0;
val2 := 0;
sum := 0;
writeln('This is the Addition screen');
repeat
repeat
writeln('Please enter your first value: ');
readln(val1);
if ((val1 < -2147483647) or (val1 > 2147483646)) then
begin
error;
end
until ((val1 >= -2147483647) and (val1 <= 2147483646));
repeat
writeln('Please enter your second value: ');
readln(val2);
if ((val2 < -2147483647) or (val2 > 2147483646)) then
begin
error;
end;
until ((val2 >= -2147483647) and (val2 <= 2147483646));
until (((val1 >= -2147483647) or (val1 <= 2147483646)) and ((val2 >= -2147483647) or (val2 <= 2147483646)));
sum := val1 + val2;
writeln('Answer: ', val1, ' + ', val2, ' = ', sum);
readln;
end;