Jelajahi Sumber

+ 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 9 tahun lalu
induk
melakukan
11eb1a4179
2 mengubah file dengan 45 tambahan dan 0 penghapusan
  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}
 {$ifndef FPC_UNIT_HAS_STRPCOPY}
 {$define FPC_UNIT_HAS_STRPCOPY}
 {$define FPC_UNIT_HAS_STRPCOPY}
 function strpcopy(d : pchar;const s : string) : pchar;assembler;nostackframe;
 function strpcopy(d : pchar;const s : string) : pchar;assembler;nostackframe;