Newsgroups: bit.listserv.asm370
Date:         Mon, 21 Dec 1992 17:26:32 CST
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

*** 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    |
+-------------------------------------------------------------+
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU