فهرست منبع

* use Seg() instead of DSeg in the msdos rtl

git-svn-id: branches/i8086@24072 -
nickysn 12 سال پیش
والد
کامیت
aab6df13ba
2فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 2 2
      rtl/msdos/sysfile.inc
  2. 2 2
      rtl/msdos/system.pp

+ 2 - 2
rtl/msdos/sysfile.inc

@@ -39,7 +39,7 @@ begin
   regs.AH := $40;
   regs.BX := h;
   regs.CX := len;
-  regs.DS := DSeg;
+  regs.DS := Seg(addr^);
   regs.DX := Ofs(addr^);
   MsDos(regs);
   if (regs.Flags and fCarry) <> 0 then
@@ -58,7 +58,7 @@ begin
   regs.AH := $3F;
   regs.BX := h;
   regs.CX := len;
-  regs.DS := DSeg;
+  regs.DS := Seg(addr^);
   regs.DX := Ofs(addr^);
   MsDos(regs);
   if (regs.Flags and FCarry) <> 0 then

+ 2 - 2
rtl/msdos/system.pp

@@ -154,10 +154,10 @@ begin
   RootName:='C:\';
 { Call 'Get Volume Information' ($71A0) }
   regs.AX:=$71a0;
-  regs.ES:=DSeg;
+  regs.ES:=Seg(buf);
   regs.DI:=Ofs(buf);
   regs.CX:=32;
-  regs.DS:=DSeg;
+  regs.DS:=Seg(RootName^);
   regs.DX:=Ofs(RootName^);
   MsDos_Carry(regs);
 { If carryflag=0 and LFN API bit in ebx is set then use Long file names }