wok diff linld/stuff/src/MEMCPY32.ASM @ rev 20458
Up amule (2.3.2)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Oct 10 10:43:41 2018 +0200 (2018-10-10) |
parents | 485b1db348fd |
children | 2e46d946d7a8 |
line diff
1.1 --- a/linld/stuff/src/MEMCPY32.ASM Sun Apr 09 12:22:58 2017 +0200 1.2 +++ b/linld/stuff/src/MEMCPY32.ASM Wed Oct 10 10:43:41 2018 +0200 1.3 @@ -11,12 +11,17 @@ 1.4 p386 1.5 endif 1.6 1.7 - group DGROUP _TEXT,_DATA 1.8 + group DGROUP _TEXT,_DATA,_BSS 1.9 assume cs:DGROUP,ds:DGROUP 1.10 1.11 segment _DATA byte public use16 'DATA' 1.12 ends _DATA 1.13 1.14 + segment _BSS byte public use16 'BSS' 1.15 + global sssp:dword 1.16 +sssp dd ? 1.17 + ends _BSS 1.18 + 1.19 segment _TEXT byte public use16 'CODE' 1.20 1.21 ;*************************************************************** 1.22 @@ -35,19 +40,15 @@ 1.23 mov ds,bx 1.24 ifndef NO386 1.25 push [dword bx+4] ; save step 1.26 - mov ax,sp 1.27 - push ss 1.28 - push ax 1.29 - pop [dword cs:sssp] 1.30 mov [word bx+4],offset step19 1.31 else 1.32 mov ax,offset step19 1.33 xchg ax,[word bx+4] 1.34 push [word bx+6] 1.35 push ax ; save step 1.36 - mov [word cs:sssp],sp 1.37 - mov [word cs:sssp+2],ss 1.38 endif 1.39 + mov [word sssp],sp 1.40 + mov [word sssp+2],ss 1.41 ;cmp [byte bx+7],0F0h 1.42 ;jnc notdos 1.43 mov [bx+6],cs 1.44 @@ -59,8 +60,6 @@ 1.45 jmp [dword bx+4*19h] 1.46 doiret: 1.47 iret 1.48 -sssp: 1.49 - dd 0 1.50 step19: 1.51 push bx 1.52 push ds 1.53 @@ -221,7 +220,7 @@ 1.54 jecxz @@done 1.55 1.56 smsw ax 1.57 - test al,1 1.58 + and al,1 ;MSW_PE 1.59 jz @@real_mode 1.60 ; Note: bp points to std stack frame now. bp will be passed to 1.61 ; pm routine. This allows params to be passed on stack