home *** CD-ROM | disk | FTP | other *** search
- TITLE 'PC/370 User Documentation Summary'
-
- Copyright (c) 1987 Donald S. Higgins
-
- This is the user documentation for the PC/370 Virtual Machine.
- The PC/370 package provides the capability to assemble, link,
- and execute IBM 370 assembler programs on any 80x86 MSDOS 2.0+ micro
- computer such as the IBM PC, XT, AT, PS/2, Compaq, etc.
-
- You are encouraged to copy and share PC/370 with other users on
- the condition that the programs and documentation are not distributed
- in modified form, that no fee or consideration is charged, and that
- this notice is not changed or bypassed. If you find this package
- useful, would like to help support continued enhancements, and would
- like to receive future update notices, please send $45. to:
-
- Don Higgins
- 6365 - 32 Avenue, North
- St. Petersburg, Florida 33710
-
- If you would like to correspond via electronic mail, you may send me
- messages via CompuServe Easy-mail ID 73047,1113. You may also call during
- 7 PM to 9 PM at 813-345-1607.
-
- EJECT
-
- TABLE OF CONTENTS
-
- A. PC/370 PRODUCT OVERVIEW
-
- B. A370.EXE ASSEMBLER
-
- C. L370.EXE LINKAGE EDITOR
-
- D. E370R20.EXE EMULATOR
-
- E. TECHNICAL REFERENCE INFORMATION
-
- F. SEPARATE APPENDIX FILES
-
- 1. ASSIST EXTENDED INSTRUCTIONS - ASSIST.DOC
- 2. SUPERVISOR SERVICES - SVC.DOC
- 3. INTERACTIVE DEBUG - DEBUG.DOC
- 4. EXTENDED ARCHITECTURE (XA) - XA.DOC
- 5. OPERATING SYSTEM VIA PSWS - PSW.DOC
- 6. REFERENCE PUBLICATIONS - REF.DOC
- 7. UTILITY PROGRAMS - UTILITY.DOC
- 8. PC/370 RELEASE HISTORY - HISTORY.DOC
- 9. LATEST RELEASE CHANGES - PC370R20.DOC
-
- EJECT
-
- A. PC/370 PRODUCT OVERVIEW
-
- PC/370 is a software package designed to run on any 80X86 micro-
- computer using the MS-DOS 2.0+ operating system. PC/370 provides the
- capability to assemble, link, and execute IBM 370 assembler
- programs directly on any 80X86 microcomputer such as the IBM PC,
- XT, AT, PS/2, Compaq with 256K of memory and one floppy disk drive.
-
- PC/370 has a number of possible uses including:
-
- 1. Allow students to code, assemble, and execute IBM 370
- assembler programs on a PC instead of having to share an
- IBM 370 mainframe.
-
- 2. Provide IBM 370 assembler programmer work station support
- to allow the development and unit testing of 370 ALC programs.
-
- 3. Provide capability to down load existing or new IBM 370
- assembler applications to run on PC's.
-
- The PC/370 product currently consists of three components:
-
- 1. A370.EXE is an IBM 370 assembler which reads source code file
- and produces object code file plus optional listing file.
-
- 2. L370.EXE is an IBM 370 linkage editor which reads object
- code and produces a directly executable 80x86 machine code file
- plus optional CSECT listing file. (L370 also has capability to
- load and go without creating executable file output).
-
- 3. E370R20.EXE is an IBM 370 machine code emulator which is
- dynamically loaded at execution time to support
- execution of 370 code. The emulator supports the following
- extended functions at execution:
-
- 1. All MS-DOS supervisor calls and BIOS calls are supported
- 2. Logical buffered file access method (like QSAM and BDAM)
- 3. Dynamic memory allocation (like GETMAIN and FREEMAIN)
- 4. Interactive debug and trace facility (better than ABEND dump)
- 5. Program interrupt user exit (like SPIE)
- 6. User microcode (80x86) subroutine call (like user SVC)
- 7. Extended ASSIST instructions to simplify I/O.
- 8. Extended Architecture (XA) instructions to allow
- unit testing of 31 bit addressing programs.
- 9. Date, time, and instruction count services
- 10. Cross memory services to allow full access of all 80x86
- real memory via MVCP and MVCS privileged instructions.
- 11. Load, attach, and detach facilities to run modules in
- separate address spaces with memory protection.
- 12. Multiple operating system interfaces can be supported via
- user written interrupt handlers to support 370 standard supervisor
- call, program check, and external interrupts. Models for MVS,
- DOS, and VM are included (see PSW.DOC).
-
- 8086 is trademark of Intel Inc.
- MS-DOS is trademark of Microsoft Corp.
- IBM is trademark of International Business Machines
-
- EJECT
-
- B. A370 ASSEMBLER
-
- The A370 assembler has the following command format:
-
- A>A370 file/options
-
- where file is the name of a source program file which has the
- suffix (.ALC). The source file must be in ASCII text
- format with each line terminated by a line feed character.
- Any number of editors including SEE can be used to create ALC files.
- An optional drive and path may be specified such as B:\dir\file.
- The options which can be specified are as follows:
-
- L - produce listing file (.PRN). Default is none.
- X - produce symbol and literal cross reference. Default is none.
- A - alignment option. Default is on.
- C - object code option. Default is on.
- T - trace assembler execution. Default is off.
-
- If an option is on by default, specifying it will turn it off.
- For example:
-
- A>A370 B:DEMOPNUM/LX
-
- will read the source file B:DEMOPNUM.ALC and produce the object
- code file B:DEMOPNUM.OBJ and the listing file B:DEMOPNUM.PRN.
-
- The A370 assembler conforms to the OS/VS IBM 370 Assembly
- Language as defined in the IBM manual GC33-4010 with the
- following limitations:
-
- 1. No continuation lines.
- 2. No copy facility. (Use COPY to concatenate source files).
- 3. Maximum control sections and dummy sections is 255.
- 4. Macros and system variable symbols are not supported.
- 5. Data constant types E, D, L, and Q are not fully supported.
- 6. OPSYN statement not supported.
- 7. EQU third operand (type attribute) not supported.
- 8. Scale, exponent, and bit length data modifiers not supported.
-
- Extended features include the following:
-
- 1. Data constant types F and H may use arithmetic expressions.
- 2. Extended ASSIST instruction set including XREAD, XPRNT,
- XDECI, XDECO, AND XDUMP as defined in the book Assembler
- Language with ASSIST by Ross A. Overbeek. Also 2 more
- instructions XFILI and XFILO are added to allow changing
- default ASSIST input and output files at execution time.
-
- EJECT
-
- C. L370 LINKAGE EDITOR
-
- The L370 linkage editor has the following command format:
-
- A>L370 file/options
-
- where file is the name of an A370 object code file (.OBJ) and
- may specify a specific drive. The options supported by the
- linkage editor are as follows:
-
- L - external symbol listing file (.LST). Default is off
- X - cross reference of external symbols. Default is off.
- D - set debug mode for emulator. Default is off.
- O - dump input object code records in hex. Default is off.
- G - load and execute with no file output. Default is off.
- T - trace linkage editor execution. Default is off.
- M - create 370 code module without COM prefix code.
-
- For example:
-
- A>L370 B:DEMOPNUM/LX
-
- will read the object code file B:DEMOPNUM.OBJ and produce the binary
- command file B:DEMOPNUM.COM, and the listing and cross-reference file
- B:DEMOPNUM.LST. Note that since DEMOPNUM calls two external subroutines
- DAT and TOD, the subroutine library L370.LIB must be available.
- The binary command file B:DEMOPNUM.COM may be directly
- executed by the MSDOS command:
-
- A>B:DEMOPNUM
-
- When the above command is executed, the program will load at X'0200'
- and the fetch routine linked with the program will load the
- emulator E370.EXE in high memory and transfer control to it.
-
- The linkage editor uses two concatenated subroutine library
- files. The first file is named file.LIB and may contain
- any number of A370 subroutine object modules which
- are called by the modules in file.obj. This file is optional
- and only called modules are included. The second file is
- named L370.LIB and may contain any number of A370 subroutine
- object modules which are commonly used by multiple
- programs. An L370.OBJ file is included with the PC/370 package
- and contains sample time and date routines.
- COPY may be used with option /B to
- concatenate A370 object modules in either library file.
-
- The linkage editor listing file (.LST) shows relative entry point
- and segment lengths and optional cross reference by segment. The
- last line of the listing contains ENT/LNG which is the 370 relative
- entry point of the module and the length of the entire module.
-
- EJECT
-
- D. E370R20 EMULATOR
-
- The E370R20 emulator is transparent to the user when using A370
- and L370 to create MSDOS command files. The emulator which
- is stored in E370R20.EXE as a binary module, is automatically
- loaded in high real memory. The execution of the A370
- object code will start at the specified relative start address
- plus hex 200 with that absolute address in register 15.
- If a program check occurs, the interactive debug facility
- will be invoked and will initially display the general
- registers and the program status word at the time
- of the interruption. See DEBUG.DOC for additional information on
- debugging facilities.
-
- EJECT
-
- E. TECHNICAL REFERENCE INFORMATION
-
- 1. A370 requires 192k memory to execute and can handle source
- programs with over 1000 labels and up to 60k bytes long.
- 2. L370 requires 192k memory and can handle load modules up to
- 60k bytes long.
- 3. E370R20 requires 64k which includes the emulator, and
- the extended SVC support functions, and interactive debug.
- 4. E370R20 supports all the non-supervisor state IBM 370
- instructions as defined in the IBM/370 XA Principals
- of Operation manual SA22-7085 except the conditional
- swapping feature instructions and the floating point feature
- instructions (these instructions are correctly assembled by
- A370).
- 5. The minimum configuration for PC/370 is as follows:
- a. 80x86 processor.
- b. 256k RAM memory which allows execution of 370 program in
- 128k virtual address space. Maximum virtual address space
- is 512k on 640k machine.
- c. 1 floppy disk drive.
-
- 6. A benchmark program consisting of calculating the first
- 100 prime numbers was run in interpretive BASIC using
- 16 bit integer arithmetic. It took 67 seconds on a
- 4.77 MHZ 8086 system. The same program was rewritten in
- 370 assembler using 32 bit fixed point arithmetic. It
- took 25 seconds to execute on the same system. This
- benchmark program is included on the distribution disk
- as a demo called DEMOPNUM.ALC.
-
- The demo may be run with the following commands:
-
- A>A370 DEMOPNUM/LX (create DEMOPNUM.OBJ)
- A>L370 DEMOPNUM/LX (create DEMOPNUM.COM)
- A>DEMOPNUM
-
- 7. The following error messages are supported:
-
- A370/L370
-
- E01 - DUPLICATE LABEL
- E02 - INVALID LABEL
- E03 - SYMBOL TABLE FULL
- E04 - INVALID OPERATION CODE
- E05 - UNDEFINED OPERATION CODE
- E06 - UNDEFINED LABEL
- E07 - INVALID OPERAND
- E08 - MEMORY FULL
- E09 - EXPRESSION INVALID
- E10 - SELF DEFINING TERM INVALID
- E11 - ARITHMETIC OVERFLOW IN EXPRESSION
- E12 - TOO MANY EXTERNAL SYMBOLS
- E13 - NO BASE REGISTER AVAILABLE
- E14 - LENGTH ERROR
- E15 - OPERAND ERROR
- E16 - DATA CONSTANT DUPLICATION FACTOR ERROR
- E17 - DATA CONSTANT TYPE ERROR
- E18 - DATA CONSTANT LENGTH ERROR
- E19 - DATA CONSTANT DATA ERROR
- E20 - START SEQUENCE ERROR
- E21 - LTORG SEQUENCE ERROR
- E22 - LOCATION COUNTER ERROR BETWEEN PASS 1 AND 2
-
- 8. IOS LOGICAL ACCESS METHOD USED BY A370, L370, AND E370
-
- IOS001 - NO DISK SPACE
- IOS001 - FILE NOT FOUND
- IOS001 - NO BUFFER SPACE
- IOS001 - OPEN FAILED
- IOS002 - CLOSE FAILED
- IOS003 - READING UNWRITTEN DATA
- IOS003 - INVALID REQUEST
- IOS004 - ERROR IN EXTENDING FILE
- IOS004 - END OF DISK DATA AREA
- IOS004 - NO MORE DIRECTORY SPACE
- IOS004 - INVALID REQUEST
- IOS005 - INVALID RECORD TYPE
- IOS005 - INVALID RECORD LENGTH
- IOS006 - INVALID RECORD TYPE
- IOS006 - INVALID RECORD LENGTH
- IOS007 - DELETE FAILED