home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l040 / 13.ddi / RTLDOS.ZIP / SRCH.ASM < prev    next >
Encoding:
Assembly Source File  |  1992-10-28  |  1.2 KB  |  90 lines

  1.  
  2. ; *******************************************************
  3. ; *                            *
  4. ; *    Turbo Pascal Runtime Library Version 5.5    *
  5. ; *    File Search Routine                *
  6. ; *                            *
  7. ; *    Copyright (C) 1988,89 Borland International    *
  8. ; *                            *
  9. ; *******************************************************
  10.  
  11.     TITLE    SRCH
  12.  
  13.     LOCALS    @@
  14.  
  15. CODE    SEGMENT    BYTE PUBLIC
  16.  
  17.     ASSUME    CS:CODE
  18.  
  19.     PUBLIC    FSearch
  20.  
  21. FSearch        PROC    FAR
  22.  
  23. ResultP        EQU    (DWORD PTR [BP+14])
  24. NameP        EQU    (DWORD PTR [BP+10])
  25. PathP        EQU    (DWORD PTR [BP+6])
  26.  
  27.     PUSH    BP
  28.     MOV    BP,SP
  29.     PUSH    DS
  30.     CLD
  31.     LDS    SI,PathP
  32.     LODSB
  33.     MOV    BL,AL
  34.     XOR    BH,BH
  35.     ADD    BX,SI
  36.     LES    DI,ResultP
  37.     INC    DI
  38. @@1:    PUSH    SI
  39.     PUSH    DS
  40.     LDS    SI,NameP
  41.     LODSB
  42.     MOV    CL,AL
  43.     XOR    CH,CH
  44.     REP    MOVSB
  45.     XOR    AL,AL
  46.     STOSB
  47.     DEC    DI
  48.     MOV    AX,4300H
  49.     LDS    DX,ResultP
  50.     INC    DX
  51.     INT    21H
  52.     POP    DS
  53.     POP    SI
  54.     JC    @@2
  55.     TEST    CX,18H
  56.     JE    @@5
  57. @@2:    LES    DI,ResultP
  58.     INC    DI
  59.     CMP    SI,BX
  60.     JE    @@5
  61.     XOR    AX,AX
  62. @@3:    LODSB
  63.     CMP    AL,';'
  64.     JE    @@4
  65.     STOSB
  66.     MOV    AH,AL
  67.     CMP    SI,BX
  68.     JNE    @@3
  69. @@4:    CMP    AH,':'
  70.     JE    @@1
  71.     CMP    AH,'\'
  72.     JE    @@1
  73.     MOV    AL,'\'
  74.     STOSB
  75.     JMP    @@1
  76. @@5:    MOV    AX,DI
  77.     LES    DI,ResultP
  78.     SUB    AX,DI
  79.     DEC    AX
  80.     STOSB
  81. @@6:    POP    DS
  82.     POP    BP
  83.     RET    8
  84.  
  85. FSearch        ENDP
  86.  
  87. CODE    ENDS
  88.  
  89.     END
  90.