diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-03-31 23:04:08 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-03-31 23:04:08 -0700 |
commit | 30e78cc68604067eecfc389b8a08970a1a5b6425 (patch) | |
tree | 4e40e627e986c44666d3672af533089256b5290a /core/bcopyxx.inc | |
parent | 33e8a461230b0a78729fca0fc5e55ad34db08a2f (diff) | |
download | syslinux-30e78cc68604067eecfc389b8a08970a1a5b6425.tar.gz |
shuffler: minor cleanups in bcopyxx.inc
Minor cleanups: calling convention, documentation, etc.
Diffstat (limited to 'core/bcopyxx.inc')
-rw-r--r-- | core/bcopyxx.inc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/bcopyxx.inc b/core/bcopyxx.inc index 3eeeaef4..6af2e935 100644 --- a/core/bcopyxx.inc +++ b/core/bcopyxx.inc @@ -40,10 +40,13 @@ bcopyxx_start equ $ ; ; ECX is guaranteed to not be zero on entry. ; +; Clobbers ESI, EDI, ECX. +; pm_bcopy: push ebx push edx + push eax cmp esi,-1 je .bzero @@ -85,6 +88,7 @@ pm_bcopy: a32 movsb .fab1: .done: + pop eax pop edx pop ebx ret @@ -201,9 +205,7 @@ pm_bcopy: pm_shuffle: mov ebx,edi ; EBX <- descriptor list lea edx,[edi+ecx] ; EDX <- shuffler end location - push edx call pm_bcopy - pop edx mov edi,edx mov esi,bcopyxx_start mov ecx,bcopyxx_dwords @@ -223,9 +225,9 @@ pm_shuffle: mov edi,[ebx] mov esi,[ebx+4] mov ecx,[ebx+8] + add ebx,12 jecxz .done call pm_bcopy - add ebx,12 jmp .loop .done: and esi,esi |