home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD1.img
/
d1xx
/
d183
/
pcq
/
runtime
/
readln.asm
< prev
next >
Wrap
Assembly Source File
|
1989-02-25
|
817b
|
41 lines
* ReadLn.asm (of PCQ Pascal runtime library)
* Copyright (c) 1989 Patrick Quaid
* Implements readln....
SECTION ONE
XREF _p%readonechar
XREF _p%getthatchar
XREF stdinbuffed
XREF stdinbuffer
XREF _p%readarbbuf
XDEF _p%readln
_p%readln
* top of stack has file
move.l 4(sp),a0 ; get file record
move.l a0,d0
bne readlnfile ; is not stdin, go around
1$ jsr _p%readonechar ; read a char
move.b #0,stdinbuffed ; un-buffer it
cmp.b #10,stdinbuffer ; is it LF?
bne.s 1$ ; go to read again
3$ rts ; and return
readlnfile:
1$ tst.b 12(a0) ; at eof?
bne.s 3$ ; if so, leave
move.b 4(a0),d0 ; get the next char
cmp.b #10,d0 ; is it LF?
beq.s 2$ ; go to read one more
jsr _p%readarbbuf ; read next char
bra 1$ ; loop
2$ jsr _p%readarbbuf ; eat the LF
3$ rts ; and return
END