]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/BootSector/bs32.S
IntelFrameworkModulePkg: Refine casting expression result to bigger size
[mirror_edk2.git] / DuetPkg / BootSector / bs32.S
index f01f5bf7d1556d9bef4a71e74ba04356e98759ef..25845173865effb2c9d3dded9175de466ec034b6 100644 (file)
@@ -1,7 +1,7 @@
 #------------------------------------------------------------------------------\r
 #*\r
-#*   Copyright 2006 - 2007, Intel Corporation                                                         \r
-#*   All rights reserved. This program and the accompanying materials                          \r
+#*   Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+#*   This program and the accompanying materials                          \r
 #*   are licensed and made available under the terms and conditions of the BSD License         \r
 #*   which accompanies this distribution.  The full text of the license may be found at        \r
 #*   http://opensource.org/licenses/bsd-license.php                                            \r
@@ -18,7 +18,7 @@
         #.MODEL small\r
         .stack: \r
         .486p: \r
-        .code\r
+        .code16\r
 \r
 .equ                      FAT_DIRECTORY_ENTRY_SIZE, 0x0020\r
 .equ                      FAT_DIRECTORY_ENTRY_SHIFT, 5\r
@@ -30,7 +30,9 @@
 .equ                      LOADER_FILENAME_PART2, 0x30325244    # "DR20"\r
 .equ                      LOADER_FILENAME_PART3, 0x20202030    # "0___"\r
 \r
-        .org 0x00\r
+        .org 0x0\r
+.global _start\r
+_start:\r
 Ia32Jump: \r
   jmp   BootSectorEntryPoint  # JMP inst                  - 3 bytes\r
   nop\r
@@ -77,7 +79,7 @@ BootSectorEntryPoint:
 # ****************************************************************************\r
 # Start Print\r
 # ****************************************************************************\r
-  leaw %cs:StartString, %si\r
+  movw $StartString, %si\r
   call PrintString\r
 \r
 # ****************************************************************************\r
@@ -148,7 +150,7 @@ FindEFILDR:
   jmp   FoundAll\r
 \r
 FindVARSTORE: \r
-  # if the file is not loader file, see if it's "EFIVAR  BIN"\r
+  ## if the file is not loader file, see if it's "EFIVAR  BIN"\r
   cmpl  $0x56494645, (%di)                # Compare to "EFIV"\r
   jne   FindNext\r
   cmpl  $0x20205241, 4(%di)               # Compare to "AR  "\r
@@ -205,7 +207,7 @@ PrintString:
   movw %ax, %es\r
   movw $0x7c0, %ax\r
   movw %ax, %ds\r
-  movw $7, %cx\r
+  movw $6, %cx\r
   movw $160, %di\r
   rep\r
   movsw\r
@@ -275,20 +277,20 @@ LimitTransfer:
 # ERROR Condition:\r
 # ****************************************************************************\r
 NotFoundAll: \r
-  # if we found EFILDR, continue\r
+  ## if we found EFILDR, continue\r
   testw %bx, %bx\r
   jne  FoundEFILDR\r
 BadBootSector: \r
 DiskError: \r
-  leaw %cs:ErrorString, %si\r
+  movw $ErrorString, %si\r
   call PrintString\r
 Halt: \r
   jmp   Halt\r
 \r
 StartString: \r
-  .byte 'B', 0x0c, 'S', 0x0c, 't', 0x0c, 'a', 0x0c, 'r', 0x0c, 't', 0x0c, '!', 0x0c\r
+  .byte 'B', 0x0c, 'S', 0x0c, 't', 0x0c, 'a', 0x0c, 'r', 0x0c, 't', 0x0c\r
 ErrorString: \r
-  .byte 'B', 0x0c, 'E', 0x0c, 'r', 0x0c, 'r', 0x0c, 'o', 0x0c, 'r', 0x0c, '!', 0x0c\r
+  .byte 'B', 0x0c, 'E', 0x0c, 'r', 0x0c, 'r', 0x0c, 'o', 0x0c, 'r', 0x0c\r
 \r
 # ****************************************************************************\r
 # LBA Offset for BootSector, need patched by tool for HD boot.\r