HP 3000 Manuals

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