+ show the full segment:offset value of far and huge pointer const nodes in the node tree generated by -vp

git-svn-id: trunk@32117 -
This commit is contained in:
nickysn 2015-10-21 16:53:41 +00:00
parent e325cf1126
commit b0130c008d

View File

@ -34,6 +34,7 @@ interface
ti8086pointerconstnode = class(tcgpointerconstnode)
constructor create(v : TConstPtrUInt;def:tdef);override;
procedure printnodedata(var t: text);override;
procedure pass_generate_code;override;
end;
@ -44,7 +45,8 @@ implementation
symconst,symdef,symcpu,
defutil,
cpubase,
cga,cgx86,cgobj,cgbase,cgutils;
cga,cgx86,cgobj,cgbase,cgutils,
node;
{*****************************************************************************
T8086POINTERCONSTNODE
@ -60,6 +62,15 @@ implementation
end;
procedure ti8086pointerconstnode.printnodedata(var t: text);
begin
if (typedef.typ=pointerdef) and (tcpupointerdef(typedef).x86pointertyp in [x86pt_far,x86pt_huge]) then
writeln(t,printnodeindention,'value = $',hexstr(word(value shr 16),4),':',hexstr(word(value),4))
else
inherited printnodedata(t);
end;
procedure ti8086pointerconstnode.pass_generate_code;
begin
{ far pointer? }