소스 검색

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