2
0
Эх сурвалжийг харах

+ 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 жил өмнө
parent
commit
11eb1a4179

+ 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;