summaryrefslogtreecommitdiff
path: root/com32.inc
diff options
context:
space:
mode:
authorhpa <hpa>2004-12-03 23:29:12 +0000
committerhpa <hpa>2004-12-03 23:29:12 +0000
commit16b6f79093cf45ede406e60c2bca7c800c5496b6 (patch)
tree738f727f149426154fa76178aa78a0bce90f8e3a /com32.inc
parentce505579a7e9e9065d0b1c76adfdf53405d981ca (diff)
downloadsyslinux-16b6f79093cf45ede406e60c2bca7c800c5496b6.tar.gz
Make sure to save/restore the file length
Diffstat (limited to 'com32.inc')
-rw-r--r--com32.inc6
1 files changed, 3 insertions, 3 deletions
diff --git a/com32.inc b/com32.inc
index d0bfb3ed..8f0ea582 100644
--- a/com32.inc
+++ b/com32.inc
@@ -42,6 +42,8 @@ com32_rmidt:
is_com32_image:
push si ; Save file handle
+ push dx ; File length held in DX:AX
+ push ax
call make_plain_cmdline
; Copy the command line into the low cmdline buffer
@@ -58,9 +60,7 @@ is_com32_image:
call comboot_setup_api ; Set up the COMBOOT-style API
mov edi,pm_entry ; Load address
- xchg eax,edx ; Gotta fix this insanity...
- shl eax,16
- mov ax,dx
+ pop eax ; File length
pop si ; File handle
call load_high
call crlf