浏览代码

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

git-svn-id: trunk@24873 -
nickysn 12 年之前
父节点
当前提交
5d4ebf0dca
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      rtl/msdos/system.pp

+ 9 - 0
rtl/msdos/system.pp

@@ -83,6 +83,15 @@ implementation
 const
   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
   PFarByte = ^Byte;far;
   PFarChar = ^Char;far;