home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
wunderki.zip
/
TSTR.ASM
< prev
next >
Wrap
Assembly Source File
|
1993-08-16
|
1KB
|
94 lines
; *******************************************************
; * *
; * Turbo Pascal Runtime Library *
; * Textfile String I/O *
; * *
; * Copyright (C) 1988,92 Borland International *
; * *
; *******************************************************
TITLE TSTR
INCLUDE SE.ASM
CODE SEGMENT BYTE PUBLIC
ASSUME CS:CODE
; Externals
EXTRN ReadText:NEAR,WriteBlanks:NEAR,WriteBuffer:NEAR
; Publics
PUBLIC ReadStr,WriteStr
; Read standard procedure (String)
ARG FileP,DWORD,1
ARG StrP,DWORD,1
ARG StrLen,WORD,1
ReadStr:
ENTRY WINFAR
LES BX,FileP
MOV AX,OFFSET CS:@@10
MOV CX,StrLen
MOV DI,StrP.ofs
MOV DX,StrP.seg
INC DI
CALL ReadText
MOV AX,DI
LES DI,StrP
SUB AX,DI
DEC AX
STOSB
EXIT 6
@@10: LODSB
CMP AL,cr
JE @@11
CMP AL,eof
JE @@11
STOSB
CMP SI,BX
LOOPNE @@10
JCXZ @@12
MOV AX,OFFSET CS:@@10
RET
@@11: DEC SI
@@12: XOR AX,AX
RET
; Write standard procedure (String)
WriteStr:
ARG FileP,DWORD,1
ARG StrP,DWORD,1
ARG Width,WORD,1
ENTRY WINFAR
LES BX,StrP
MOV AL,ES:[BX]
XOR AH,AH
LES BX,FileP
MOV DX,Width
SUB DX,AX
JLE @@1
PUSH AX
CALL WriteBlanks
POP AX
@@1: OR AX,AX
JE @@2
MOV SI,StrP.ofs
MOV DX,StrP.seg
INC SI
CALL WriteBuffer
@@2: EXIT 6
CODE ENDS
END