From 9dbbffba61212d18bc1ab1ad8a242657f44b7d5c Mon Sep 17 00:00:00 2001
From: nickysn <nickysn@gmail.com>
Date: Mon, 10 Jun 2013 01:16:37 +0000
Subject: [PATCH] + added trefaddr.addr_seg for referencing the segment of a
 symbol

git-svn-id: trunk@24859 -
---
 compiler/cgbase.pas       | 1 +
 compiler/x86/agx86nsm.pas | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/compiler/cgbase.pas b/compiler/cgbase.pas
index b26f4249bc..31ea09564c 100644
--- a/compiler/cgbase.pas
+++ b/compiler/cgbase.pas
@@ -101,6 +101,7 @@ interface
          ,addr_dgroup      // the data segment group
          ,addr_far         // used for emitting 'call/jmp far label' instructions
          ,addr_far_ref     // used for emitting 'call far [reference]' instructions
+         ,addr_seg         // used for getting the segment of an object, e.g. 'mov ax, SEG symbol'
          {$ENDIF}
          );
 
diff --git a/compiler/x86/agx86nsm.pas b/compiler/x86/agx86nsm.pas
index fa8412120e..ca32a30e7e 100644
--- a/compiler/x86/agx86nsm.pas
+++ b/compiler/x86/agx86nsm.pas
@@ -398,6 +398,8 @@ interface
 {$ifdef i8086}
                   if o.ref^.refaddr=addr_far then
                     asmwrite('far ')
+                  else if o.ref^.refaddr=addr_seg then
+                    asmwrite('SEG ')
                   else
                     asmwrite('word ');
 {$endif i8086}