Browse Source

+ added extra_param_offset constant for accessing parameters in asm routines with nostackframe

git-svn-id: trunk@24873 -
nickysn 12 years ago
parent
commit
5d4ebf0dca
1 changed files with 9 additions and 0 deletions
  1. 9 0
      rtl/msdos/system.pp

+ 9 - 0
rtl/msdos/system.pp

@@ -83,6 +83,15 @@ implementation
 const
 const
   fCarry = 1;
   fCarry = 1;
 
 
+  { used for an offset fixup for accessing the proc parameters in asm routines
+    that use nostackframe. We can't use the parameter name directly, because
+    i8086 doesn't support sp relative addressing. }
+{$ifdef FPC_X86_CODE_FAR}
+  extra_param_offset = 2;
+{$else FPC_X86_CODE_FAR}
+  extra_param_offset = 0;
+{$endif FPC_X86_CODE_FAR}
+
 type
 type
   PFarByte = ^Byte;far;
   PFarByte = ^Byte;far;
   PFarChar = ^Char;far;
   PFarChar = ^Char;far;