ソースを参照

+ added some i8086 memory model specific defines in strings.inc and
stringss.inc, used by the assembler routines (they are already defined in
the system unit, but these includes are included in units, other than system)

git-svn-id: trunk@31922 -

nickysn 10 年 前
コミット
11eb1a4179
2 ファイル変更45 行追加0 行削除
  1. 22 0
      rtl/i8086/strings.inc
  2. 23 0
      rtl/i8086/stringss.inc

+ 22 - 0
rtl/i8086/strings.inc

@@ -16,3 +16,25 @@
  **********************************************************************}
 
 
+{$if defined(FPC_MM_TINY)}
+  {$define FPC_X86_CODE_NEAR}
+  {$define FPC_X86_DATA_NEAR}
+{$elseif defined(FPC_MM_SMALL)}
+  {$define FPC_X86_CODE_NEAR}
+  {$define FPC_X86_DATA_NEAR}
+{$elseif defined(FPC_MM_MEDIUM)}
+  {$define FPC_X86_CODE_FAR}
+  {$define FPC_X86_DATA_NEAR}
+{$elseif defined(FPC_MM_COMPACT)}
+  {$define FPC_X86_CODE_NEAR}
+  {$define FPC_X86_DATA_FAR}
+{$elseif defined(FPC_MM_LARGE)}
+  {$define FPC_X86_CODE_FAR}
+  {$define FPC_X86_DATA_FAR}
+{$elseif defined(FPC_MM_HUGE)}
+  {$define FPC_X86_CODE_FAR}
+  {$define FPC_X86_DATA_HUGE}
+{$else}
+  {$fatal No memory model defined}
+{$endif}
+

+ 23 - 0
rtl/i8086/stringss.inc

@@ -16,6 +16,29 @@
  **********************************************************************}
 
 
+{$if defined(FPC_MM_TINY)}
+  {$define FPC_X86_CODE_NEAR}
+  {$define FPC_X86_DATA_NEAR}
+{$elseif defined(FPC_MM_SMALL)}
+  {$define FPC_X86_CODE_NEAR}
+  {$define FPC_X86_DATA_NEAR}
+{$elseif defined(FPC_MM_MEDIUM)}
+  {$define FPC_X86_CODE_FAR}
+  {$define FPC_X86_DATA_NEAR}
+{$elseif defined(FPC_MM_COMPACT)}
+  {$define FPC_X86_CODE_NEAR}
+  {$define FPC_X86_DATA_FAR}
+{$elseif defined(FPC_MM_LARGE)}
+  {$define FPC_X86_CODE_FAR}
+  {$define FPC_X86_DATA_FAR}
+{$elseif defined(FPC_MM_HUGE)}
+  {$define FPC_X86_CODE_FAR}
+  {$define FPC_X86_DATA_HUGE}
+{$else}
+  {$fatal No memory model defined}
+{$endif}
+
+
 {$ifndef FPC_UNIT_HAS_STRPCOPY}
 {$define FPC_UNIT_HAS_STRPCOPY}
 function strpcopy(d : pchar;const s : string) : pchar;assembler;nostackframe;