home *** CD-ROM | disk | FTP | other *** search
- 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
-
-