wok diff linld/stuff/src/XMM.ASM @ rev 23996
linld: add iso support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Jan 08 20:15:35 2021 +0000 (2021-01-08) |
parents | 3d19917d3a03 |
children | 5c1ce90eb1d6 |
line diff
1.1 --- a/linld/stuff/src/XMM.ASM Sat Dec 12 10:41:29 2020 +0000 1.2 +++ b/linld/stuff/src/XMM.ASM Fri Jan 08 20:15:35 2021 +0000 1.3 @@ -12,15 +12,9 @@ 1.4 p386 1.5 endif 1.6 1.7 - group DGROUP _TEXT,_BSS 1.8 + group DGROUP _TEXT 1.9 assume cs:DGROUP,ds:DGROUP 1.10 1.11 - segment _BSS byte public use16 'BSS' 1.12 - 1.13 -xmm_handler dd ? 1.14 - 1.15 - ends _BSS 1.16 - 1.17 segment _TEXT byte public use16 'CODE' 1.18 1.19 ;*************************************************************** 1.20 @@ -42,47 +36,30 @@ 1.21 ;*************************************************************** 1.22 proc xmm_driver near 1.23 1.24 - push si 1.25 - mov si,offset xmm_handler 1.26 - ifndef NO386 1.27 - cmp [dword si],0 1.28 - jne @@gotit 1.29 push ax ; save cmd 1.30 mov ax,4300h ; installation check in al 1.31 - else 1.32 - push ax ; save cmd 1.33 - lodsw 1.34 - or ax,[word si] 1.35 - jne @@gotit 1.36 - mov ah,43h ; installation check in al 1.37 - endif 1.38 - 1.39 int 2fh 1.40 - mov bx,offset xmm_fail 1.41 - push ds 1.42 + mov bx,offset @@xmm_fail 1.43 + push cs 1.44 pop es 1.45 cmp al,80h 1.46 jne @@err 1.47 mov ax,4310h ; get driver address in es:bx 1.48 int 2fh 1.49 @@err: 1.50 - ifndef NO386 1.51 pop ax ; restore cmd 1.52 - mov [si],bx 1.53 - mov [si+2],es 1.54 -@@gotit: 1.55 - call [dword si] ; far ptr [si] 1.56 - else 1.57 - mov [si-2],bx 1.58 - mov [si],es 1.59 -@@gotit: 1.60 - pop ax ; restore cmd 1.61 - call [dword si-2] ; far ptr [si-2] 1.62 - endif 1.63 + 1.64 + push cs ; call far 1.65 + call @@jmp_esbx 1.66 dec ax ; Z=1=OK 1.67 - pop si 1.68 ret 1.69 -xmm_fail: 1.70 + 1.71 +@@jmp_esbx: 1.72 + push es ; \ 1.73 + push bx ; > jmp far es:bx 1.74 + retf ; / 1.75 + 1.76 +@@xmm_fail: 1.77 xor ax,ax 1.78 cwd 1.79 retf