Ignore:
Timestamp:
Mar 31, 2002, 9:01:19 PM (24 years ago)
Author:
bird
Message:

much stuff..

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/kKrnlLib/testcase/tstDosA.asm

    r8138 r8140  
    1 ; $Id: tstDosA.asm,v 1.1 2002-03-30 17:05:46 bird Exp $
     1; $Id: tstDosA.asm,v 1.2 2002-03-31 19:01:19 bird Exp $
    22;
    33; 16-bits Dos calls overloader
     
    4343
    4444DATA16 SEGMENT
     45szDevName   db  "\dev\$KrnlHlp",0
     46szDevNameEnd db 0
    4547DATA16 ENDS
    4648
     
    9496    ;
    9597    push    ds
    96     push    bx
    97     xor     ebx, ebx
    98     lds     bx, [bp + 1ch]
    99     mov     eax, ds:[ebx]
    100     cmp     eax, 'ved\'                 ;'\dev' assumes low-case!
     98    push    es
     99    push    si
     100    push    di
     101    push    cx
     102
     103    lds     si, [bp + 1ch]
     104    mov     di, seg szDevName
     105    mov     es, di
     106    mov     di, offset szDevName
     107    mov     cx, offset szDevNameEnd - offset szDevName
     108    repe cmpsb
    101109    jne     do_notkKrnlHlp
    102     mov     eax, ds:[ebx+4]
    103     cmp     eax, 'rKk\'                 ;'\kKr'
    104     jne     do_notkKrnlHlp
    105     mov     eax, ds:[ebx+8]
    106     cmp     eax, 'lHln'                 ; 'nlHl'
    107     jnz     do_notkKrnlHlp
    108     mov     eax, ds:[ebx+0ch]
    109     cmp     ax, 'p'                     ; 'p\0'
    110     jnz     do_notkKrnlHlp
    111110
    112111    ;
     
    115114    ; return phFile equal to kKrnlHlp handle and pusAction set to 1 (FILE EXISTED).
    116115    ;
    117     lds     bx, [bp + 18h]
    118     mov     word ptr ds:[bx], hkKrnlHlp ; *phFile <- hkKrnlHlp
    119     lds     bx, [bp + 14h]
    120     mov     word ptr ds:[bx], 1         ; *pusAction <- File existed.
     116    lds     di, [bp + 18h]
     117    mov     word ptr ds:[di], hkKrnlHlp ; *phFile <- hkKrnlHlp
     118    lds     di, [bp + 14h]
     119    mov     word ptr ds:[di], 1         ; *pusAction <- File existed.
     120
     121    ; return successfully.
     122    xor     eax, eax
    121123
    122124do_ret:
    123125    ;
    124     ; restore bx and ds and return successfully.
    125     ;
    126     pop     bx
     126    ; restore registers and return.
     127    ;
     128    pop     cx
     129    pop     di
     130    pop     si
     131    pop     es
    127132    pop     ds
    128     xor     eax, eax
    129133    leave
    130134    ret     01ah
     
    140144    push    dword ptr [bp + 06h]
    141145    call far ptr _DOS16OPEN
    142     pop     bx
    143     pop     ds
    144     leave
    145     ret     01ah
     146    jmp do_ret
    146147DOS16OPEN ENDP
    147148
     
    292293END
    293294
    294 
Note: See TracChangeset for help on using the changeset viewer.