home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
fortran
/
library
/
comline
/
readme.txt
< prev
Wrap
Text File
|
1991-07-01
|
5KB
|
102 lines
COMLINE.ASM and FORTCK.FOR :
These were are files that I have found useful in writing MICROSOFT FORTRAN
files, I do not guarantee that they will with any other version of FORTRAN or
on any system other than the IBM PC (tested on an XT, AT, 386 and will most
likely work with any DOS 2.0 or higher IBM machines).
Please distribute them in this unmodified form in COMLINE.ZIP or if you
prefer another archive format.
Include the files:
COMLINE.ASM - Command line translator (Borland Turbo Assembler)
COMLINE.OBJ - Linkable object file
C_CLINE.C - C demo (MS Quick C)
QB_CLINE.BAS - Basic demo (MS Quick Basic)
P_CLINE.PAS - Pascal demo (Borland Turbo Pascal)
FORTCK.FOR - Fortran file checker (MS Fortran)
FORTCK.EXE - Run time version
README.TXT - This file
README.BAT - Stupid batch file to read this file
ALLCHARS.255 - All 255 characters, to test FORTCK and other programs
COMLINE:
This will read information from the DOS Command line when you initially
run a EXE file. The information is returned in a CHARACTER*128 string with
the first character being the length of the string. The string is terminated
with a carriage return. An example of how to use COMLINE is provided in
FORTCK.FOR and the other demo programs.
COMLINE is totally self contained ASSEMBLY language, but it was written
to work via a FORTRAN style FAR PROCEDURE call. Therefore other languages
must follow the FORTRAN FAR calling convention (where the address of the
rightmost argument is the first thing pushed to the stack, high byte first,
before the return address, all of which must be 32 bit addresses).
FORTCK:
FORTCK will check a program for anything that is not a FORTRAN readable
character (ASCII [32 - 126] + CR/LF).
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstuvwxyz{|}~ and SPACE
It is designed to indicate embedded control characters and also to detect
a broken carriage return/line feed sequence, which my editor occasionally
slips in.
There are a few command line options (none are case sensitive and they may
begin with '-' or '/'):
/s### : Skip ASCII value
Where ### is a number corresponding to an ASCII character
code. The number may be up to 3 characters long. If the
last character is an 'H' then the number is assumed to be
hexadecimal. If more than one number is specified, they
must be 3 characters long (the leading zeroes must be
entered). If you only include one number, it may be from
one to three characters. This option may be called
repeatedly.
If the character specified is in the "legal" range of this
program (SPACE to ~), the character is marked as bad and
any occurrences of the character are displayed. If a CR
is specified, the CR/LF sequence check is not completed.
/a$ : Skip ASCII character
Where $ is an ASCII character. The characters are typed
directly you may include up to MAXSKIP characters. This
option may be called repeatedly.
This option may also be used to mark bad characters bad.
/f : Fix on (+)
The program will delete any bad characters (and fix
any broken CR/LF sequence). This is done in the file:
FIXED.TXT, your original file is left intact.
/? /h : Print help summary screen
DEMOS IN OTHER LANGUAGES:
I wanted to test the portability of COMLINE.ASM to different languages on
the IBM PC. The test files show the proper way to set up the subroutine as
a FAR call (variables and return) and will then print out the length of the
string and the data contained in the string. All the variables that I tested
were fixed length strings, which really aren't much of a problem; however,
with variable length strings, the termination character varies from language
to language.
The Pascal routine wasn't really necessary for Turbo Pascal since it has
command line information as a built in feature, but it should give
other interested Pascal programmers a push in the right direction.
Again, I am very poor so contributions of any dollar amount will be
greatly appreciated. Send them to:
Scott Heavner
19 Pine Woods Drive
North Tonawanda, NY 14120
If you have any comments or suggestions, email them to sdh@po.cwru.edu