diff options
author | hpa <hpa> | 2005-08-22 15:59:12 +0000 |
---|---|---|
committer | hpa <hpa> | 2005-08-22 15:59:12 +0000 |
commit | 93f14a4ac8c43dee550e740c6919451aaabc2436 (patch) | |
tree | 30d3d20494e2859fb321bc8f640fb528f0df1ef3 /pxelinux.asm | |
parent | 21f060a5c6211233b91a48b18a79bda32f1dd5c6 (diff) | |
download | syslinux-93f14a4ac8c43dee550e740c6919451aaabc2436.tar.gz |
Register-handling cleanups for searchdir.
Diffstat (limited to 'pxelinux.asm')
-rw-r--r-- | pxelinux.asm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pxelinux.asm b/pxelinux.asm index 331a84e7..f2b542b2 100644 --- a/pxelinux.asm +++ b/pxelinux.asm @@ -1089,6 +1089,8 @@ memory_scan_for_pxenv_struct: searchdir: push es + push bx + push cx mov ax,ds mov es,ax mov si,di @@ -1096,7 +1098,7 @@ searchdir: mov bp,sp call allocate_socket - jz .error + jz .ret mov ax,PKT_RETRY ; Retry counter mov word [PktTimeout],PKT_TIMEOUT ; Initial timeout @@ -1308,7 +1310,10 @@ searchdir: pop bp ; Junk pop bp ; Junk (retry counter) jz .error_si ; ZF = 1 need to free the socket +.ret: pop bp + pop cx + pop bx pop es ret @@ -1341,9 +1346,7 @@ searchdir: .error: mov si,bx ; Socket pointer .error_si: ; Socket pointer already in SI call free_socket ; ZF <- 1, SI <- 0 - pop bp - pop es - ret + jmp .ret ; ; allocate_socket: Allocate a local UDP port structure |