mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-02 14:10:21 +02:00
+ add edges to disallow the use of the 8-bit subregisters of IX, IY and SP
git-svn-id: branches/z80@44513 -
This commit is contained in:
parent
20cd3a6d1b
commit
65efc495af
@ -58,31 +58,13 @@ unit rgcpu;
|
|||||||
supreg,i : Tsuperregister;
|
supreg,i : Tsuperregister;
|
||||||
begin
|
begin
|
||||||
case getsubreg(reg) of
|
case getsubreg(reg) of
|
||||||
{ Let 64bit floats conflict with all odd float regs }
|
R_SUBL,R_SUBH:
|
||||||
R_SUBFD:
|
|
||||||
begin
|
begin
|
||||||
{
|
{ Some registers have no 8-bit subregister }
|
||||||
supreg:=getsupreg(reg);
|
supreg:=getsupreg(reg);
|
||||||
i:=RS_F1;
|
add_edge(supreg,RS_IX);
|
||||||
while (i<=RS_F31) do
|
add_edge(supreg,RS_IY);
|
||||||
begin
|
add_edge(supreg,RS_SP);
|
||||||
add_edge(supreg,i);
|
|
||||||
inc(i,2);
|
|
||||||
end;
|
|
||||||
}
|
|
||||||
end;
|
|
||||||
{ Let 64bit ints conflict with all odd int regs }
|
|
||||||
R_SUBQ:
|
|
||||||
begin
|
|
||||||
supreg:=getsupreg(reg);
|
|
||||||
{
|
|
||||||
i:=RS_G1;
|
|
||||||
while (i<=RS_I7) do
|
|
||||||
begin
|
|
||||||
add_edge(supreg,i);
|
|
||||||
inc(i,2);
|
|
||||||
end;
|
|
||||||
}
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user