Article View: bit.listserv.asm370
Article #31Higgins Cross Assembler
From: Gary Garland Gregory - Systems P...
Date: Mon, 21 Dec 1992 23:26
Date: Mon, 21 Dec 1992 23:26
234 lines
13139 bytes
13139 bytes
*** Resending note of 12/21/92 15:55
Texas Tech University - P.O. Box 43051
Lubbock, Texas 79401 - (806) 742-1016
As promised here is the information concerning the Higgin's cross-assembler.
The information below was extracted from the README.DOC file. Sorry it took so
long but I had a conversion and final exams last week.
6365 - 32 Avenue North
St. Petersburg, Florida 33710
September 7, 1987
PC/370 Users:
This is the system disk for PC/370 release 3.2. This release contains
the following major enhancements since release 2.0:
1. Thanks to Jacques Roy, a new macro preprocessor M370.COM has been
included along with a set of demo macros including MVS type OPEN,
CLOSE, GET, PUT, READ, WRITE, WTO, and WTOR. Some of you have been
waiting a long time for this addition. Run RUNMAC.BAT for examples.
See M370.DOC for processor syntax and MACRO.DOC for macro arguments.
Note M370.COM is written in PC/370 assembler and requires the emulator.
If you find the macro preprocessor useful and want to support future
enhancements, send $10. to:
Jacques Roy
XL Software Inc.
1000 St-Jean Baptiste #120
Quebec, Canada G2E-5G5
2. Floating point support including the standard 370 short, long, and
extended instructions has been added using the INTEL 80x87 co-processor.
If the chip is installed, the floating point instructions are active
otherwise their use will cause operation exception as in previous
releases. Option P can be specified to force disabling of floating
point option even though a co-processor is installed. If option P
is active, the floating point registers will be displayed by R command
in the interactive debugger. See FP87.DOC for more information.
A scientific subroutine package including standard functions such as
ALOG, ALOG10, EXP, INT, REAL, SQRT, and TAN have been added in SSP.ALC.
Run BLDSSP.BAT to include SSP functions in system library and run
RUNSSP.BAT to test SSP routines if 80x87 is installed. See SSP.DOC for
more information on functions.
3. The A370 cross assembler now supports E, D, and L floating point
formats (requires 80x87 installed to assemble E, D, and L). The
assembler also now includes new extension for ASCII character
strings included in double quotes. For example, DC C"A0" generates
the same code as DC X'4130'.
4. The E370R30.EXE 370 emulator now includes 7 new SVC's as follows:
a. SVC 28 - turn on EBCDIC to ASCII conversion for WTO SVC 209 (def.).
b. SVC 29 - turn off EBCDIC to ASCII conversion for WTO SVC 209.
c. SVC 30 - turn on auto carriage return for WTO SVC 209 (default).
d. SVC 31 - turn off auto carriage return for WTO SVC 209.
e. SVC 32 - convert address in reg 1 to segment:offset in reg 0
f. SVC 33 - convert segment:offset in reg 0 to address in reg 1
g. SVC 34 - issue hardware interrupt with user defined PC registers
(this is a generic facility which can be used to issue
any MS-DOS function call or BIOS interrupt with user
defined registers mapped to memory area in register 1)
h. SVC 35 - microcode assist for scientific subroutines (see FP87.DOC).
See SVC.DOC and TESTINT.ALC for demo of all of the above SVC's.
5. The following release 2.0 bugs have been fixed:
a. A bug in SVC 11 memory freemain occurred when releasing block
between two other free blocks (fixed in release 2.0A).
b. Fix error when EQU's appear in blank CSECT before any other
code (also fixed in release 2.0A).
c. Force DCB SYNAD exit when RBA random write causes short block
write due to bad RBA exceeding disk capacity.
d. A nasty but infrequent bug in L370 causing object modules which
happen to end on 128 block boundary in the middle of a library
to cause error in processing library.
e. A DSECT with register 0 is now permitted for addressing low memory.
f. An error in a DS or DC address constant distroyed the location
counter causing additional erroneous errors in following code.
g. File ASCII tranlation output option fixed in PUT svc (was
translating after write and not restoring to EBCDIC).
h. A370 now treats blank lines like comments rather than flagging
them as syntax errors. Although I never considered this a bug,
I agree it has bugged me more than a few times in the past.
i. ASCII and EBCDIC tables have been fixed to correctly translate
left bracket and greater than or equal to symbol codes.
j. The jump command in interactive debug has been fixed to correctly
handle virtual addresses over 64k in 370 mode.
k. The MP multiply packed has been corrected to give specification
error if 370 field length or zero byte requirements not met.
l. DS in multiple CSECT module generated bad oject code causing
linkage editor error.
m. ZAP with any number with zero in low nibble sets positive sign and
zero condition code (regression bug with release 2.0).
n. Allow maximum 80 character ALC statements with seq. #.
o. Fix A370 label EQU to CSECT/DSECT which caused L370 errors.
p. Flag A370 RLD's for DSECT symbols causing L370 errors.
6. The SEE editor has been changed to support embedded tabs which default
to tab stops at column 10, 16, and each 5 after that. A bug in search
due to not updating memory from screen prior to starting search in
memory from current line on screen was fixed.
7. The ASCII conversion table has been expanded to 256 bytes and both the
EBCDIC and ASCII tables are identified in PTF.DOC to allow addition of
extended characters requested by French and German users.
8. A new utility T370.ALC has been added which will translate A370 object
files in compressed bit stream format into standard IBM 370 linkage
editor 80 byte fixed record files. The utility also has an option to
list the object records in hex format. Run BLD370.BAT to assemble,
link, and execute demo. This is useful to those users who wish to
upload object code instead of source code to an IBM mainframe.
For those users who skipped release 2.0, it contained the following
major enhancements over release 1.2:
1. All 370 programs now run in virtual address spaces up to 512k. For
example, SIEVE.ALC is a demo 370 program which uses a 100,000 byte
table to calculate prime numbers. Execute RUN.BAT to assemble, link
and execute SIEVE. SIEVE prints relative benchmark timings for
different MS-DOS systems. On a PS/2 Model 50, SIEVE takes about 40
seconds executing about 15,000 370 instructions per second. On a
Compaq 386, SIEVE takes about 20 seconds executing 25,000 instructions
per second (or 0.025 MIPS).
2. Multiple 370 and 8086 programs can be dynamically loaded and executed.
Modules can be executed within the same address space or executed in
separate address spaces with memory protection via attach and detach
supervisor calls. See TEST25ML.ALC for example of the program
management options.
3. Each address space now contains a standard 370 low memory prefix to
support supervisor, program, and external interrupt facilities when
running 370 programs in problem state mode. With this facility, it
is now possible to develop multiple operating system shells for
PC/370 programs including VM, VSE, and MVS. MVS.ALC shell is now
included with WTO/WTOR, GMAIN/FMAIN, TIMER, and SIO channel program
simulator. Also for simple external interrupt handler, see CLOCK.ALC.
4. The PC/370 file management support has been rewritten using MS-DOS
file handle interface to support full pathing and relative byte
addressing
of files. See TESTIO.ALC for example of how to read and write sequential
and random files. See TESTFCB.ALC for example of how to still use old
FCB type file access.
5. The PC/370 assembler and linkage editor have been converted from COM
to EXE format programs and now support much larger 370 programs with
over 1000 labels and up to 50,000 bytes of 370 object code.
6. The ASSIST facility has been enhanced with the ability to redirect I/O
to the console.
7. The SEE.ALC full screen text editor has been modified to use dynamic
address space memory with direct addressing instead of cross memory
access to free MS-DOS memory required in release 1.2.
8. The following release 1.2 bugs have been fixed:
a. DSECT's with anything but DS instructions caused problems due
to bad code being generated.
b. ENTRY sysmbols can now be referenced within same source module.
c. BXH and BXLE now handle negative index values correctly.
d. Trace and PSW address of instruction which is target of EX
is now correct.
e. EQU's preceeding first CSECT caused zero length blank CSECT
error.
9. The PC/370 documentation has been expanded to cover new features
and add additional information frequently requested by users.
Distribution now requires 2 360KB floppy diskettes instead of one.
Installation and verification of PC/370 can be doen as follows:
1. If obtained in PC370R30.ARC single compressed file format,
unload individual files to single harddisk directory \PGM using
ARC520.EXE or later version. Assuming hard disk is on C and RAM
disk is on D, issue the following commands:
BLDPRT C: \PGM build PRINTDOC.COM and print READ.ME
BLDSEE C: \PGM C: \DOC D: build SEE.COM text editor and run demos
BLDLIB C: \PGM build L370.LIB system subroutine library
RUN C: \PGM run PC/370 standard demo and test programs
RUNMAC C: \PGM C: \DOC D: run macro processor demo programs
RUNMVS C: \PGM C: \DOC D: run MVS shell demo with channel simulator
BLDSSP C: \PGM add scientific suroutines to L370.LIB
***
RUNSSP C: \PGM run scientific subroutine tests
***
BLD370 C: \PGM C: \PGM D: build T370 object code translator
*** both of these optional commands require 80x87 installed
2. If obtained in diskette format, place PGM disk in drive B:
and DOC disk in drive A:
BLDPRT B: \ build PRINTDOC.COM and print READ.ME
BLDSEE B: \ A: \ D: build SEE.COM text editor and run demos
BLDLIB B: \ build L370.LIB system subroutine library
RUN B: \ run PC/370 standard demo and test programs
RUNMAC B: \ A: \ D: run macro processor demo programs
RUNMVS B: \ A: \ D: run MVS shell demo with channel simulator
BLDSSP B: \ add scientific suroutines to L370.LIB
***
RUNSSP B: \ run scientific subroutine tests
***
*** both of these optional commands require 80x87 installed
VTOC.DOC lists each file with one line description.
For additional information, SEE PC370.DOC and other DOC files.
To print any file on console or standard printer with page control,
use PRINTDOC.COM created by BLDPRT.BAT with single filename parm. Note that
all PC/370 programs like PRINTCOM require access to E370R30.EXE via default
drive or path.
Please send feedback on the product including suggestions and documentation
on any errors discovered. You can help determine future releases by giving
me your priorities for future enhancements. Write to the following address
or send electronic mail on Compuserve to 73047,1113:
Don Higgins
6365 - 32 Avenue North
St. Petersburg, FLorida 33710
Hope you enjoy PC/370 release 3!
+-------------------------------------------------------------+
| BitNet: SGGGG@TTUVM1 InterNet: SGGGG@TTUVM1.TTU.EDU |
+-------------------------------------------------------------+
Technical Details
Message-ID:
<ASM370%92122118533726@UGA.CC.UGA.EDU>Path:
arc1-ca.pugleaf.net!sparky!uunet!gatech!paladin.american.edu!auvm!!IIIShow Full Headers
Complete Article Headers
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Path: arc1-ca.pugleaf.net!sparky!uunet!gatech!paladin.american.edu!auvm!!III
Message-ID: <ASM370%92122118533726@UGA.CC.UGA.EDU>
Newsgroups: bit.listserv.asm370
Date: Mon, 21 Dec 1992 17:26:32 CST
Sender: IBM 370 Assembly Programming Discussion List <ASM370@UGA.BITNET>
Comments: Converted from PROFS to RFC822 format by PUMP V2.2X
From: Gary Garland Gregory - Systems Programmer III
<SGGGG@TTUVM1.BITNET>
Subject: Higgins Cross Assembler
Lines: 234