Introduction to MPE XL for MPE V Programmers Migration Guide : COPYRIGHT NOTICE [ Introduction to MPE XL for MPE V Programmers Migration Guide ] MPE/iX 5.0 Documentation
Introduction to MPE XL for MPE V Programmers Migration Guide
Product 900 Series HP 3000 Computer Systems
Introduction to MPE XL
for MPE V Programmers
Migration Guide
Printed in U.S.A.
HP Part No. 30367-90005
Edition E1089
Printed Oct 1989
NOTICE
The information contained in this document is subject to change without
notice.
HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS
MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard
shall not be liable for errors contained herein or for incidental or
consequential damages in connection with the furnishing, performance or
use of this material.
Hewlett-Packard assumes no responsibility for the use or reliability of
its software on equipment that is not furnished by Hewlett-Packard.
This document contains proprietary information which is protected by
copyright. All rights are reserved. No part of this document may be
photocopied, reproduced or translated to another language without the
prior written consent of Hewlett-Packard Company.
Copyright @ 1989 by HEWLETT-PACKARD COMPANY
Printing History
The following table lists the printings of this document, together with
the respective release dates for each edition. The software version
indicates the version of the software product at the time this document
was issued. Many product releases do not require changes to the
document. Therefore, do not expect a one-to-one correspondence between
product releases and document editions.
Edition Date Software Version
--------------------------------------------------------------------------------------
First Edition November 1987 A.01.00
Update 1 July 1988 A.10.00
Update 2 December 1988 A.20.00
Second Edition October 1989 A.30.00
Documentation Map
Preface
The Introduction to MPE XL for MPE V Programmers shows an experienced HP
3000 programmer how to program effectively in MPE XL. The manual is
written to help programmers migrate their skills to take full advantage
of the new programming environment.
The guide is part of the Migration Series. Other manuals in the series
are depicted in the documentation map at the front of this manual.
Information is divided into common programming tasks. Emphasis is on the
MPE XL features, intrinsics, and commands used for each task, and how
they compare to MPE V features, intrinsics, and commands for the same
task. Each chapter begins with a brief overview of using features,
intrinsics, and commands to accomplish a task on MPE V and on MPE XL.
What is new, different, or the same is listed. These are presented in
more detail in the rest of the chapter: first the new, then the changed,
and, last, those MPE V features, intrinsics, and commands that are not
supported in MPE XL. References for more information are given at the end
of the chapter.
Chapter 1, Introduction, gives an overview of the architectural
differences and broad differences you will find moving from MPE V to MPE
XL. MPE XL has demand-paged virtual memory, two programming environments,
and a fixed format 32-bit word. It does not use Priv Mode, and the
Segmenter is not necessary.
Chapter 2, Preparing a Program for Execution, discusses the process of
program development. Although there are analogous steps, developing a
program is not the same in MPE XL as in MPE V. The dual programming mode
is introduced. Native Mode program development is presented step by
step: writing, compiling, linking, running, and debugging. Because
there are two modes, or two programming environments, and programming can
be done across modes, the chapter ends with some discussion of mixed-mode
programming.
Chapter 3, Using Intrinsics, first discusses the strict interpretation of
what an intrinsic is. The new status parameter for error checking is
presented, the new generic data type mnemonics listed. Lists of new,
changed, and unsupported intrinsics follow.
Chapter 4, Accessing Files, discusses the many changes to file access on
MPE XL, brought about largely by demand-paged virtual memory and the
availability of mapped access to files. Changed intrinsics and disk file
changes are presented.
Chapter 5, Using the Command Interpreter, presents the enhanced,
interactive CI, and the intrinsics and commands that have changed from
MPE V to MPE XL. The new programmatic interface and flexibility of the CI
on MPE XL make it important for programmers to investigate.
Chapter 6, Getting System Information, presents the (minor) changes to
receive system information, largely due to virtual memory and the 32-bit
word.
Chapter 7, Managing Processes, discusses changes in process management,
such as JCW variable handling, stack Handling, and incompatibilities in
plabels.
Chapter 8, Resource Management, deals mostly with the changes in loading
library procedures, which can be done dynamically in MPE XL.
Chapter 9, Message Catalogs, presents a new intrinsic for NM error
messages, and a parameter change related to mapped file access.
Chapter 10, Data Types, presents differences between the data types of
MPE V and MPE XL Compatibility Mode and those of MPE XL Native Mode,
including word size and real number formats. Also, real numbers are
represented differently. There is some discussion of potential
difficulties, and conversion suggestions.
Chapter 11, Sorting and Merging, presents the new Native Mode intrinsics
and commands. They are analogous to the MPE V sort-merge intrinsics and
commands, but will operate more efficiently.
Chapter 12, Trap Handling, presents some new and different arithmetic
traps in MPE XL Native Mode, and the incompatibilities in enabling and
arming traps across programming modes. Several intrinsics are described.
Chapter 13, Debugging Applications, describes the altogether new, and
very powerful, MPE XL Debugger. Several intrinsics have changed as well,
and their differences are summarized. There is a reminder that the
32-bit word on MPE XL causes dumps to be hexadecimal.
Chapter 14, Using Extra Data Segments, tells how segmentation is emulated
in Compatibility Mode, although it is not needed in MPE XL.
Chapter 15, Changing Stack Sizes, also tells how segmentation is retained
for backward compatibility with MPE V, although the large memory of MPE
XL makes segmentation unnecessary.
To use this manual, we recommend you read through Chapter 1 for the new
concepts and Chapter 2 for the program development process. Then,
consult the chapters that discuss the tasks you encounter most often in
your work.
To find information about a particular feature, intrinsic or command,
look it up directly in the Table of Contents or Index. There are also
lists of new and different intrinsics in Chapter 3, and a command summary
in Chapter 5.
Conventions
UPPERCASE In a syntax statement, commands and keywords are
shown in uppercase characters. The characters must
be entered in the order shown; however, you can enter
the characters in either uppercase or lowercase. For
example:
COMMAND
can be entered as any of the following:
command Command COMMAND
It cannot, however, be entered as:
comm com_mand comamnd
italics In a syntax statement or example, a word in italics
represents a parameter or argument that you must
replace with the actual value. In the following
example, you must replace filename with the name of
the file:
COMMAND filename
bold italics In a syntax statement, a word in bold italics
represents a parameter that you must replace with the
actual value. In the following example, you must
replace filename with the name of the file:
COMMAND (filename)
punctuation In a syntax statement, punctuation characters (other
than brackets, braces, vertical bars, and ellipses)
must be entered exactly as shown. In the following
example, the parentheses and colon must be entered:
(filename) : (filename)
underlining Within an example that contains interactive dialog,
user input and user responses to prompts are
indicated by underlining. In the following examples,
yes is the user's response to the prompt:
Do you want to continue? >> yes
{ } In a syntax statement, braces enclose required
elements. When several elements are stacked within
braces, you must select one. In the following
example, you must select either ON or OFF:
COMMAND {ON}
{OFF}
[ ] In a syntax statement, brackets enclose optional
elements. In the following example, OPTION can be
omitted:
COMMAND filename [OPTION]
When several elements are stacked within brackets,
you can select one or none of the elements. In the
following example, you can select OPTION or parameter
or neither. The elements cannot be repeated.
COMMAND filename [OPTION]
[parameter]
[...] In a syntax statement, horizontal ellipses enclosed
in brackets indicate that you can repeatedly select
the element(s) that appear within the immediately
preceding pair of brackets or braces. In the example
below, you can select parameter zero or more times.
Each instance of parameter must be preceded by a
comma:
[,parameter][...]
In the example below, you can only use a comma as a
delimiter if parameter is repeated; no comma is used
before the first occurrence of parameter:
[parameter][,...]
|...| In a syntax statement, horizontal ellipses enclosed
in vertical bars indicate that you can select more
than one element within the immediately preceding
pair of brackets or braces. However, each particular
element can only be selected once. In the following
example, you must select A, AB, BA, or B. The
elements cannot be repeated.
{A}|...|
{B}|...|
... In an example, horizontal or vertical ellipses
indicate where portions of an example have been
omitted.
Å In a syntax statement, the space symbol Å shows a
required blank. In the following example, parameter
and parameter must be separated with a blank:
(parameter)Å(parameter)
The symbol indicates a key on the keyboard. For
example, RETURN represents the carriage return key or
Shift represents the shift key.
CTRLcharacter CTRLcharacter indicates a control character. For
example, CTRLY means that you press the control key
and the Y key simultaneously.
base prefixes The prefixes %, #, and $ specify the numerical base
of the value that follows:
%num specifies an octal number.
#num specifies a decimal number.
$num specifies a hexadecimal number.
If no base is specified, decimal is assumed.
bits (bit:length) When a parameter contains more than one piece of data
within its bit field, the different data fields are
described in the format bits (bit:length), where bit
is the first bit in the field and length is the
number of consecutive bits in the field. For
example, bits (13:3) indicates bits 13, 14, and 15:
most significant least significant
|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
| 0| | | | | | | | | | | | |13|14|15|
|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
bits (0:1) bits (13:3)
MPE/iX 5.0 Documentation