[ros-diffs] [tkreuzer] 52308: [FREELDR] Convert drvmap.S to intel syntax

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Fri Jun 17 12:04:25 UTC 2011


Author: tkreuzer
Date: Fri Jun 17 12:04:25 2011
New Revision: 52308

URL: http://svn.reactos.org/svn/reactos?rev=52308&view=rev
Log:
[FREELDR]
Convert drvmap.S to intel syntax

Modified:
    trunk/reactos/boot/freeldr/freeldr/arch/i386/drvmap.S

Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/drvmap.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/i386/drvmap.S?rev=52308&r1=52307&r2=52308&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/drvmap.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/drvmap.S [iso-8859-1] Fri Jun 17 12:04:25 2011
@@ -17,83 +17,92 @@
  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-	.text
-	.code16
 
+#include <asm.inc>
 #include <arch/pc/x86common.h>
 
-EXTERN(_DriveMapInt13HandlerStart)
+.code16
+
+PUBLIC _DriveMapInt13HandlerStart
+_DriveMapInt13HandlerStart:
 Int13Handler:
 
-	pushw	%bp
-	movw	%sp,%bp
-	pushw	%ax
-	pushw	%cx
-	pushw	%si
+	push bp
+	mov bp, sp
+	push ax
+	push cx
+	push si
 
 	cld
 
 	/* Get callers flags from stack */
-	movw	0x06(%bp),%ax
-	movw	%ax,%cs:(CallersFlags - Int13Handler)
+	mov ax, [bp + 6]
+	mov word ptr cs:[CallersFlags - Int13Handler], ax
 
 	/* Save the drive number they passed in */
-	movb	%dl,%cs:(PassedInDriveNumber - Int13Handler)
+	mov cs:[PassedInDriveNumber - Int13Handler], dl
 
 	/* Now we need to perform the mapping */
-	xorw	%cx,%cx
-	movw	$(Int13HandlerMapCount - Int13Handler),%si
+	xor cx, cx
+	mov si, offset Int13HandlerMapCount - Int13Handler
+
 	/* Get the count of drives in the map list */
-	movb	%cs:(%si),%cl
-	incw	%si
+	mov cl, cs:[si]
+	inc si
 
 	/* If the map list is empty then just call the old int 13h handler */
-	cmpb	$0,%cl
-	jz		CallOldInt13Handler
+	cmp cl, 0
+	jz CallOldInt13Handler
 
 GetMappedDriveNumberLoop:
 
 	/* Get the next drive number in the list */
-	lodsw	%cs:(%si),%ax
+	lods ax, cs:[si]
+
 	/* Check to see if it's the one they are calling int 13h for */
-	cmpb	%al,%dl
+	cmp dl, al
+
 	/* If not get the next one */
-	jne		GetMappedDriveNumberLoopNext
+	jne GetMappedDriveNumberLoopNext
 
 	/* If we get here then we have found a mapped drive */
 	/* Send new drive number on to the old int 13h handler */
-	movb	%ah,%dl
+	mov dl, ah
+
 	/* Call BIOS Int 13 Handler */
-	jmp		CallOldInt13Handler
+	jmp CallOldInt13Handler
 
 GetMappedDriveNumberLoopNext:
-	loop	GetMappedDriveNumberLoop
+	loop GetMappedDriveNumberLoop
 
 CallOldInt13Handler:
 	/* Restore the registers we changed off the stack */
-	popw	%si
-	popw	%cx
-	popw	%ax
+	pop si
+	pop cx
+	pop ax
 
 	/* Put flags onto stack */
-	pushw	%cs:(CallersFlags - Int13Handler)
+	push word ptr cs:[CallersFlags - Int13Handler]
+
 
 	/* Call old int 13h handler with new drive number */
-	.byte	0x9a /* lcall */
-EXTERN(_DriveMapOldInt13HandlerAddress)
+	.byte HEX(9a) /* lcall */
+PUBLIC _DriveMapOldInt13HandlerAddress
+_DriveMapOldInt13HandlerAddress:
 	.word	0
 	.word	0
 
 	/* Update the callers flags with the values the BIOS returned */
-	pushw	%ax
+	push ax
 	pushf
-	popw	%ax
-	movw	%ax,0x06(%bp)
-	popw	%ax
+	pop ax
+	mov [bp + 6], ax
+	pop ax
+
 	/* Restore the callers drive number */
-	movb	%cs:(PassedInDriveNumber - Int13Handler),%dl
+	mov dl, cs:[PassedInDriveNumber - Int13Handler]
 
-	popw	%bp
+	pop bp
 
 	iret
 
@@ -103,7 +112,8 @@
 PassedInDriveNumber:
 	.byte	0
 
-EXTERN(_DriveMapInt13HandlerMapList)
+PUBLIC _DriveMapInt13HandlerMapList
+_DriveMapInt13HandlerMapList:
 Int13HandlerMapCount:
 	.byte	0
 
@@ -127,4 +137,6 @@
 Int13HandlerDriveNew4:
 	.byte	0
 
-EXTERN(_DriveMapInt13HandlerEnd)
+PUBLIC _DriveMapInt13HandlerEnd
+_DriveMapInt13HandlerEnd:
+    .byte 0




More information about the Ros-diffs mailing list