home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / prezent / cb / data.z / EOLN.ASM < prev    next >
Assembly Source File  |  1997-01-16  |  895b  |  63 lines

  1.  
  2. ; *******************************************************
  3. ; *                            *
  4. ; *     Delphi Runtime Library                          *
  5. ; *                            *
  6. ; *    Copyright (c) 1996 Borland International    *
  7. ; *                            *
  8. ; *******************************************************
  9.  
  10.     INCLUDE    SE.ASM
  11.     INCLUDE    FILEIO.ASM
  12.  
  13.  
  14.     .386
  15.     .MODEL    FLAT
  16.  
  17.     EXTRN    _ReadChar:NEAR
  18.  
  19.     PUBLIC    _Eoln
  20.  
  21.     .CODE
  22.  
  23. ;    FUNCTION _Eoln( t: Text ) : Boolean;
  24.  
  25. _Eoln    PROC
  26.  
  27. ; ->    EAX    Pointer to text record
  28. ; <-    AL    Boolean result
  29.  
  30.     CMP    [EAX].Mode,fmInput
  31.     JNE    @@readChar
  32.     MOV    EDX,[EAX].BufPos
  33.     CMP    EDX,[EAX].BufEnd
  34.     JAE    @@readChar
  35.     ADD    EDX,[EAX].BufPtr
  36.     MOV    AL,0
  37.     MOV    CL,[EDX]
  38.     CMP    CL,cr
  39.     JE    @@cr
  40.     CMP    CL,eof
  41.     JE    @@eof
  42.     RET
  43. @@cr:
  44. @@eof:
  45.     MOV    AL,1
  46.     RET
  47.  
  48. @@readChar:
  49.     PUSH    EAX
  50.     CALL    _ReadChar
  51.     POP    EDX
  52.     CMP    AL,eof
  53.     JE    @@eof
  54.     DEC    [EDX].BufPos
  55.     CMP    AL,cr
  56.     JE    @@cr
  57.     MOV    AL,0
  58.     RET
  59.  
  60. _Eoln    ENDP
  61.  
  62.     END
  63.