mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 18:29:27 +02:00
+ support near pointers, bound to a segment register in hlcg.reference_reset_base
on i8086 git-svn-id: trunk@27688 -
This commit is contained in:
parent
1eb24f9d98
commit
7da8719036
@ -253,8 +253,26 @@ implementation
|
||||
if is_implicit_pointer_object_type(regsize) or is_implicit_array_pointer(regsize) then
|
||||
regsize:=voidpointertype;
|
||||
|
||||
if is_farpointer(regsize) or is_hugepointer(regsize) then
|
||||
ref.segment:=GetNextReg(reg);
|
||||
if regsize.typ=pointerdef then
|
||||
case tcpupointerdef(regsize).x86pointertyp of
|
||||
x86pt_near:
|
||||
;
|
||||
x86pt_near_cs:
|
||||
ref.segment:=NR_CS;
|
||||
x86pt_near_ds:
|
||||
ref.segment:=NR_DS;
|
||||
x86pt_near_ss:
|
||||
ref.segment:=NR_SS;
|
||||
x86pt_near_es:
|
||||
ref.segment:=NR_ES;
|
||||
x86pt_near_fs:
|
||||
ref.segment:=NR_FS;
|
||||
x86pt_near_gs:
|
||||
ref.segment:=NR_GS;
|
||||
x86pt_far,
|
||||
x86pt_huge:
|
||||
ref.segment:=GetNextReg(reg);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user