[ros-diffs] [tkreuzer] 52327: [ASM] - Use .586P for 16 bit code to allow privileged instructions, like lidt/lgdt. Found by ThFabba - Add a 0 byte at the end to make ML fill the file up to the required length
tkreuzer at svn.reactos.org
tkreuzer at svn.reactos.org
Sat Jun 18 09:40:45 UTC 2011
Author: tkreuzer
Date: Sat Jun 18 09:40:44 2011
New Revision: 52327
URL: http://svn.reactos.org/svn/reactos?rev=52327&view=rev
Log:
[ASM]
- Use .586P for 16 bit code to allow privileged instructions, like lidt/lgdt. Found by ThFabba
- Add a 0 byte at the end to make ML fill the file up to the required length
Modified:
trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S
trunk/reactos/include/asm/asm.inc
Modified: trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S?rev=52327&r1=52326&r2=52327&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/realmode/i386.S [iso-8859-1] Sat Jun 18 09:40:44 2011
@@ -88,8 +88,7 @@
/* Load IDTR with real mode value */
#ifdef _USE_ML
- DB 0Fh, 01h, 1Eh
- DW rmode_idtptr
+ lidt fword ptr rmode_idtptr
#else
lidt rmode_idtptr
#endif
@@ -114,8 +113,7 @@
/* Load the GDT */
#ifdef _USE_ML
- DB 0Fh, 01h, 16h
- DW gdtptr
+ lgdt fword ptr gdtptr
#else
lgdt gdtptr
#endif
@@ -195,7 +193,7 @@
#include "pnp.inc"
#include "helpers.inc"
-.org (FREELDR_PE_BASE - FREELDR_BASE)
+.org (FREELDR_PE_BASE - FREELDR_BASE - 1)
+.byte 0
.endcode16
-
END
Modified: trunk/reactos/include/asm/asm.inc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/asm/asm.inc?rev=52327&r1=52326&r2=52327&view=diff
==============================================================================
--- trunk/reactos/include/asm/asm.inc [iso-8859-1] (original)
+++ trunk/reactos/include/asm/asm.inc [iso-8859-1] Sat Jun 18 09:40:44 2011
@@ -73,7 +73,7 @@
.code16 MACRO
ASSUME nothing
.text SEGMENT use16
- .586
+ .586P
ENDM
.endcode16 MACRO
More information about the Ros-diffs
mailing list