فهرست منبع

+ added trefaddr.addr_seg for referencing the segment of a symbol

git-svn-id: trunk@24859 -
nickysn 12 سال پیش
والد
کامیت
9dbbffba61
2فایلهای تغییر یافته به همراه3 افزوده شده و 0 حذف شده
  1. 1 0
      compiler/cgbase.pas
  2. 2 0
      compiler/x86/agx86nsm.pas

+ 1 - 0
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}
          );
 

+ 2 - 0
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}