wok diff linld/stuff/src/MEMCPY32.ASM @ rev 20548

linld: fix open_image
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Dec 01 16:48:25 2018 +0100 (2018-12-01)
parents f0d71e920c5a
children 04ffefac5707
line diff
     1.1 --- a/linld/stuff/src/MEMCPY32.ASM	Fri Nov 09 16:37:55 2018 +0100
     1.2 +++ b/linld/stuff/src/MEMCPY32.ASM	Sat Dec 01 16:48:25 2018 +0100
     1.3 @@ -46,7 +46,7 @@
     1.4  		;cld
     1.5                  pushf
     1.6                  push    ds es
     1.7 -                pushad
     1.8 +		pushad				; struct declared in VCPI.ASM
     1.9  		mov	cl,4
    1.10                  movzx   esi,[srcseg]
    1.11                  shl     esi,cl
    1.12 @@ -73,6 +73,9 @@
    1.13  		and	di,cx
    1.14  		inc	cx
    1.15                  sub     [sz],ecx
    1.16 +		jae	@@movpara
    1.17 +		add	ecx,[sz]
    1.18 +@@movpara:
    1.19              rep movsb
    1.20                  ja	@@movlp
    1.21  		jmp	@@done
    1.22 @@ -135,7 +138,7 @@
    1.23  		pop	si
    1.24  		js	@@done16
    1.25                  p386
    1.26 -                pushad
    1.27 +		pushad				; struct declared in VCPI.ASM
    1.28                  mov     esi,[srcofs]
    1.29                  mov     edi,[dstofs]
    1.30  
    1.31 @@ -149,11 +152,8 @@
    1.32  		jz	@@real_mode
    1.33  ; Note: bp points to std stack frame now. bp will be passed to
    1.34  ; pm routine. This allows params to be passed on stack
    1.35 -		extrn	do_memcpy_vcpi:near
    1.36 -                push    offset do_memcpy_vcpi
    1.37 -		extrn	call_pm_routine:near
    1.38 -                call    near call_pm_routine ; Call pm copy routine via vcpi pm
    1.39 -                pop     ax
    1.40 +		extrn	vcpi_pm_copy_routine:near
    1.41 +                call    near vcpi_pm_copy_routine ; Call pm copy routine via vcpi pm
    1.42  		jmp	@@done
    1.43  @@real_mode:
    1.44                  cmp     esi,edi
    1.45 @@ -204,7 +204,7 @@
    1.46                  p8086
    1.47  @@done16:
    1.48                  pop     es ds
    1.49 -                popf
    1.50 +		popf			; restore I & D
    1.51  			ifndef	NO386
    1.52                  p386
    1.53  		leave