Bug fixed that was introduced by Kees Visser's modifications

This commit is contained in:
ceriel 1987-03-11 09:23:23 +00:00
parent 07f5d3cce4
commit 8a9b2379dc

View file

@ -856,7 +856,7 @@ end end;
procedure load; procedure load;
var sz:integer; var sz:integer;
begin with a do begin sz:=sizeof(asp,packbit); begin with a do begin sz:=sizeof(asp,packbit);
if asp<>nil then if asp<>nil then begin
case ak of case ak of
cst: cst:
gencst(op_loc,pos.ad); {only one-word scalars} gencst(op_loc,pos.ad); {only one-word scalars}
@ -871,12 +871,13 @@ begin with a do begin sz:=sizeof(asp,packbit);
indexed: indexed:
gencst(op_lar,sz_word); gencst(op_lar,sz_word);
end; {case} end; {case}
ak:=loaded;
if asp^.form = subrange then if asp^.form = subrange then
if sz < sz_word then if sz < sz_word then
if asp^.min < 0 then if asp^.min < 0 then
{ do sign extension } { do sign extension }
begin gencst(op_loc, sz); gencst(op_loc, sz_word); genop(op_cii) end begin gencst(op_loc, sz); gencst(op_loc, sz_word); genop(op_cii) end;
end;
ak:=loaded;
end end; end end;
procedure store; procedure store;