mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 17:49:09 +02:00
* segment in int register support added also to tcg8086.a_load_reg_ref and .a_load_ref_reg
git-svn-id: trunk@24570 -
This commit is contained in:
parent
9171c19601
commit
8b1e621665
@ -789,6 +789,13 @@ unit cgcpu;
|
|||||||
make_simple_ref(list,tmpref);
|
make_simple_ref(list,tmpref);
|
||||||
check_register_size(fromsize,reg);
|
check_register_size(fromsize,reg);
|
||||||
|
|
||||||
|
if (tmpref.segment<>NR_NO) and (not is_segment_reg(tmpref.segment)) then
|
||||||
|
begin
|
||||||
|
list.concat(taicpu.op_reg(A_PUSH,S_W,tmpref.segment));
|
||||||
|
list.concat(taicpu.op_reg(A_POP,S_L,NR_ES));
|
||||||
|
tmpref.segment:=NR_ES;
|
||||||
|
end;
|
||||||
|
|
||||||
case tosize of
|
case tosize of
|
||||||
OS_8,OS_S8:
|
OS_8,OS_S8:
|
||||||
if fromsize in [OS_8,OS_S8] then
|
if fromsize in [OS_8,OS_S8] then
|
||||||
@ -838,6 +845,13 @@ unit cgcpu;
|
|||||||
{ if tcgsize2size[tosize]<=tcgsize2size[fromsize] then
|
{ if tcgsize2size[tosize]<=tcgsize2size[fromsize] then
|
||||||
fromsize:=tosize;}
|
fromsize:=tosize;}
|
||||||
|
|
||||||
|
if (tmpref.segment<>NR_NO) and (not is_segment_reg(tmpref.segment)) then
|
||||||
|
begin
|
||||||
|
list.concat(taicpu.op_reg(A_PUSH,S_W,tmpref.segment));
|
||||||
|
list.concat(taicpu.op_reg(A_POP,S_L,NR_ES));
|
||||||
|
tmpref.segment:=NR_ES;
|
||||||
|
end;
|
||||||
|
|
||||||
case tosize of
|
case tosize of
|
||||||
OS_8,OS_S8:
|
OS_8,OS_S8:
|
||||||
if fromsize in [OS_8,OS_S8] then
|
if fromsize in [OS_8,OS_S8] then
|
||||||
|
Loading…
Reference in New Issue
Block a user