mirror of
https://github.com/moshix/mvs.git
synced 2026-01-24 19:12:09 +00:00
183 lines
9.3 KiB
Plaintext
183 lines
9.3 KiB
Plaintext
|
||
PC/370 help documentation
|
||
|
||
So you've successfully installed PC/370 using the BAT\INSTALL.BAT
|
||
command, have run the demo programs, and have read the documentation
|
||
files, but you still have some questions. Well, here are some of the
|
||
most frequently asked questions and some answers which may help:
|
||
|
||
1. Where can I get more help?
|
||
|
||
Send letter and/or diskette with problem to me at the address
|
||
listed below and I will reply. Subscribe to Compu-Serve
|
||
electronic mail survice adn send me EASY mail message
|
||
using ID# 73047,1113.
|
||
|
||
2. The A370.EXE cross assembler gets I/O error reading my source
|
||
ALC program file?
|
||
|
||
The file must be in ASCII text form with line feed (X'0A')
|
||
character ending each line of text. This is standard PC format
|
||
used by most text editors including EDLIN and SEE. If the ALC
|
||
file was downloaded from an IBM mainframe, it may need to be
|
||
translated from EBCDIC to ASCII. Most mainframe to PC link
|
||
facilities have this translation option as a default.
|
||
|
||
3. The A370.EXE cross assembler did not recognize some statements?
|
||
|
||
See USER.DOC for OS/VS assembler features not supported by
|
||
A370.EXE such as macros, and see the reference section for
|
||
additional texts on OS/VS assembler and ASSIST. If the program
|
||
has macros, you must use the M370.COM macro preprocessor to
|
||
expand macros into basic assembler first. If the program has
|
||
floating point E, D, or L type DC constants, an 80x87 math co-
|
||
processor must be installed for the assembler to correctly
|
||
assemble the floating point constants.
|
||
|
||
4. The L370.EXE linkage editor keeps getting unresolved external
|
||
references even though I've checked that all subroutines have
|
||
been added to system or program LIB file with correct /B option
|
||
of MS-DOS copy command as shown in BAT\BLDLIB.BAT?
|
||
|
||
The linkage editor scans the program LIB file first and then the
|
||
system LIB file in sequential order attempting to resolve all
|
||
external references in one pass. If any module selected for
|
||
inclusion calls a module previously scanned and not selected,
|
||
then the link will fail as a result of the backward reference.
|
||
You must sequence the libraries to eliminate backward references
|
||
or force loading of required modules with explicit external
|
||
address constants. To allow unresolved references use option U.
|
||
|
||
5. My first program will not run. How do I debug it?
|
||
|
||
Specify an upper case T as only parameter when executing program
|
||
to start in debug mode or link it with option D specified. At
|
||
the interactive debug prompt, type T to trace instructions up to
|
||
point of failure. You can stop trace at any point by hitting
|
||
any key and then typing T again to restart. If no entry point
|
||
name was specified on END statement, the program will start at
|
||
first byte of code. If there are too many instructions before
|
||
failure to trace, enter Q for quiet mode execution up to point
|
||
of failure and then enter N for list of last 20 instructions
|
||
executed. See debug chapter of USER.DOC for more information.
|
||
|
||
6. My write to operator message printed garbage after message?.
|
||
|
||
Add $ character to tell MS-DOS where end of text is.
|
||
|
||
7. My first file I/O operation caused an I/O error?
|
||
|
||
Make sure that file is in current directory or that complete
|
||
MS-DOS file path was specified in DCBDSN field of DCB with a
|
||
trailing null character (X'00'). Make sure that record length
|
||
(LRECL) includes room for carriage return and line feed
|
||
characters in each text record. Text record processing on the
|
||
PC is quite different from the normal fixed length text record
|
||
processing on an IBM mainframe. Text records on the PC created
|
||
by the SEE.COM full screen editor or most other PC editors such
|
||
as EDLIN store text records in variable length ASCII form with a
|
||
carriage return (X'0D') and line feed (X'0A') character
|
||
indicating the end of each record and an end of file (X'1F')
|
||
character after the last line feed. If the file being read or
|
||
written has 80 data characters, then the record length needs to
|
||
be 82 bytes for text type files. See SYSTEM.DOC for more
|
||
information on file DCB options including translation between
|
||
EBCDIC and ASCII. The ASSIST extended instructions XREAD and
|
||
XPRNT make the translation between ASCII text file format and
|
||
EBCDIC fixed length record format automatically. See the ASSIST
|
||
demo programs DEMOAST1.ALC through DEMOAST4.ALC and the ASSIST
|
||
section of USER.DOC for more information.
|
||
|
||
8. The records read from my input file appear to be in ASCII
|
||
instead of EBCDIC as expected by the 370 program?
|
||
|
||
The default for DCB text file processing is not to translate
|
||
between ASCII and EBCDIC. There is an option bit in the DCBFLG
|
||
byte named DBTRAN which can be set prior to open to request that
|
||
each record be translated such that file is in ASCII and record
|
||
processed by program is in EBCDIC. The ASSIST extended
|
||
instructions XREAD and XPRNT automatically make this
|
||
translation.
|
||
|
||
9. Why don't you have an option to let all character strings
|
||
default to ASCII instead of EBCDIC code in an assembler program?
|
||
|
||
Release 1 did have option E to specify either ASCII or EBCDIC
|
||
for DC character strings and self defining character strings
|
||
such as immediate data in CLI instruction. This created non-
|
||
standard 370 code by default when the ASCII mode was selected
|
||
and was very confusing when mixing subprograms with different
|
||
options. Release 2 removed the E option and added option to
|
||
define ASCII character strings using double quotes. This
|
||
solution also allows both types of character strings to be
|
||
easily used in a single program.
|
||
|
||
10. Can I download and use the MVS, VM, or VSE macro's?
|
||
|
||
No. First they are copyright by IBM and licensed only on the
|
||
mainframe they reside on. Second, they would not work without
|
||
changing them to use PC/370 supervisor calls and the limited
|
||
syntax of the macro pre-processor. The common MVS macros
|
||
included such as DCB, OPEN, CLOSE, GET, and PUT have been coded
|
||
from scratch for the PC environment. Several different users
|
||
are developing additional macros to provide compatible unit test
|
||
environments for each of the above operating systems.
|
||
|
||
11. Can I download load modules from an IBM mainframe and run
|
||
them using PC/370?
|
||
|
||
Yes, but only if you also complete a PC/370 shell such as the
|
||
MVS demo shell to intercept all SVC's and supervisor state
|
||
instructions used. The demo shell will support a native 370
|
||
mainframe MVS load module that only uses problem state
|
||
instructions and the WTO and WTOR svc's. The actual load module
|
||
file would have to be processed to remove all the extraneous
|
||
fetch control records leaving just the 370 object code in a MOD
|
||
type file which could be loaded and executed by the shell
|
||
program. The object code would have to be self relocating (i.e.
|
||
no relocation records in the load module file).
|
||
|
||
12. Can I download fixed blocked files and read them directly with a
|
||
PC/370 program?
|
||
|
||
Yes, one of the DCB file processing options is fixed blocked.
|
||
This mode assumes that the file contains fixed length binary
|
||
and/or EBCDIC data records with no carriage returns or line
|
||
feeds. Text files are not normally stored in this format on
|
||
PC's because it wastes so much space compared to the variable
|
||
length ASCII text format.
|
||
|
||
13. Can I upload source, object, or load modules to the mainframe
|
||
and execute them?
|
||
|
||
Yes, with the following restrictions:
|
||
|
||
a. Source code must be translated back to EBCDIC and any SVC's
|
||
or macros used must be compatible with the mainframe
|
||
operating system and macro assembler.
|
||
|
||
b. Object code can be uploaded after it is converted from
|
||
compressed bit stream format (OBJ) to OS/VS linkage editor
|
||
80 byte fixed blocked format (370) using the utility
|
||
T370.COM which is included in both object and source form.
|
||
This is being used by some software developers who unit
|
||
test code on a PC and then upload tested object code to
|
||
mainframe.
|
||
|
||
c. Load module code can be uploaded but with the following
|
||
restrictions. Only MOD format code would make sense to
|
||
upload since the loader code in COM format files is unique
|
||
to PC MS-DOS environments. An application interface on
|
||
the mainframe would have to be written to read the MOD
|
||
file code into memory and link to it. Of course, the
|
||
supervisor instructions would have to be compatible with
|
||
the mainframe operating environment.
|
||
|
||
Please send additional questions and answers you think would be
|
||
helpful to other users. I will add them with appropriate credits.
|
||
This file was first added in release 4.2 at the suggestion of BIll
|
||
Earle.
|
||
|
||
Don Higgins
|
||
6365 - 32 Avenue North
|
||
St. Petersburg, Florida 33710 |