DSM Introduction to DSM

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  Acknowledgment

  1      Overview of DSM

  DSM History

  DSM on the PDP-11 Processor, DSM-11

  DSM on the VAX Processor, VAX DSM

  DSM Components
    DSM Programming Language
    DSM Database System

  Review

  Exercises

  2      Getting Started with DSM

  Using the Computer Terminal
    VT220 Main Keypad
    VT220 Auxiliary Keypad
    VT220 Editing Keypad
    VT220 Top-Row Function Keypad

  Beginning a DSM Session
    Getting Started on DSM-11
    Logging In to DSM-11
    Getting Started on VAX DSM
    Running the VAX DSM Image

  Ending a DSM Session
    Logging Out of DSM-11
    Exiting from VAX DSM

  DSM Work Area

  Using Programmer Mode

  DSM Commands
    Using Multiple Commands

  Constructing an Argument
    Concatenating Expressions
    String Literals
    Numeric Literals
      Mathematical Operations
      Exponential Notation
    Variables
      Assigning Values to Local Variables
      Listing Local Variables
      Deleting Local Variables

  Evaluating Expressions

  Error Messages and Correcting Mistakes

  Review

  Exercises

  3      Writing and Running DSM Routines

  DSM Routines
    Entering Routines into the Routine Buffer
    Executing Routines in Your Routine Buffer
    Printing Routines on Your Terminal
    Using the ZSAVE Command to Save Routines
    Displaying the Routine Directory
    Executing Saved Routines
      Executing a Routine from Your Routine Directory
      Using Entry References
      Loading and Executing a Routine in Your Routine Buffer

  Using Offsets, Line References, and Line Specifications
    Offsets
    Line References and Line Specifications

  Using ZPRINT, ZREMOVE, and ZINSERT to Edit Routines
    Using ZINSERT to Insert Lines into a Routine
    Adding Lines to the End of a Routine
    Adding New Lines to the Beginning of a Routine
    Replacing Lines in a Routine

  Making Copies of Routines

  Deleting Routines

  Renaming Routines

  Using Interactive Routines

  Formatting Output
    Form-Feed Character
    New-Line Character
    Horizontal-Tabulation Character
    $X and $Y Special Variables

  Review

  Exercises

  4      Editing DSM Routines

  DSM Editors

  Using the % and %ED Editors
    Editing Example
    Editing a Single Line
    Editing a Range of Lines
    Adding a Line Label
    Using DSM Commands in the Editor
    Ending an Editing Session

  Using the VAX EDT Editor with VAX DSM ( ^%EDT )

  Using the EDI Editor ( ^%EDI )
    EDI Commands

  Review

  Exercises

  5      Controlling Routine Execution

  Abbreviating Commands

  Using Comments in Routines

  Using Alternate Execution Paths
    IF Command
    Relational Operators
      Numeric Relational Operators
      String Relational Operators
    Logical Operators
    ELSE Command

  Performing Repetitive Operations
    GOTO Command
    QUIT Command
    $RANDOM Function
    FOR Command

  Using Subroutines

  Block Structuring
    Execution Levels
    Line Structure for Block Structuring
    Routine Structure and Execution

  NEW Command

  Review

  Exercises

  6      Using Globals and Arrays

  Global Variables
    Assigning Values to Global Variables
    Using Global Directories

  Arrays
    Array Names and Subscripts
    Physical Array Structure
    Logical Array Structure

  Determining the Status of Variables
    $DATA Function
    $GET Function

  $ORDER Function

  Writing a Routine that Uses Arrays

  Planning an Application
    ^NAME Array
    ^CLASS Array
    Creating a Database

  Review

  Exercises

  7      Using String Relational Operators and Functions

  String Relational Operators
    Binary CONTAINS
    Binary FOLLOWS
    Binary PATTERN MATCH
      Using a Period Character with PATTERN MATCH
      Using Literals with PATTERN MATCH

  Writing Routines to Validate User Input
    Entering Student Profile Information
    Enrolling Students in Courses

  Using the String-Manipulation Functions
    $EXTRACT Function
    $FIND Function
    $JUSTIFY Function
    $LENGTH Function
    $PIECE Function
      $PIECE Argument Formats
      Setting Substrings
    $TRANSLATE Function

  Using String-Manipulation Functions in Routines
    Entering Student Grades
    Using Postconditional Expressions
    Reporting Student Grades

  Killing Global Variables

  Review

  Exercises

  8      Xecute Code and Indirection

  XECUTE Command

  Executing Data Using Indirection
    Argument Indirection
    Name Indirection
    Subscript Indirection
    Pattern Indirection

  Writing a Menu Driver Routine
    $TEXT Function
    $CHAR Function

  Review

  Exercises

  9      Performing Input/Output Using Devices

  Defining Devices

  OPEN Command
    OPEN Arguments
    Timeout Expressions

  USE Command

  CLOSE Command

  Performing Device Input/Output
    Device Input/Output with WRITE and READ
    Timeout Expressions with the READ Command
    Device I/O with Other Commands
      ZPRINT Command
      ZLOAD Command
      ZWRITE Command

  Input/Output Special Variables

  Review

  Exercises

  A   ASCII Character Set

  B   Answers to Exercise Questions

  Chapter 1     Overview of DSM

  Chapter 2     Getting Started with DSM

  Chapter 3     Writing and Running DSM Routines

  Chapter 4     Editing DSM Routines

  Chapter 5     Controlling Routine Execution

  Chapter 6     Using Globals and Arrays

  Chapter 7     Using String Relational Operators and Functions

  Chapter 8     Xecute Code and Indirection

  Chapter 9     Performing Input/Output Using Devices

  C   DSM Command, Function, and Special Variable Abbreviations

  Glossary

  FIGURES

  2-1        VT220 Keyboard

  2-2        DSM Work Area

  6-1        Global Directory

  6-2        DSM Array

  6-3        JAY Array

  6-4        Student Application Global Arrays

  A-1        ASCII Character Set

  TABLES

  2-1        VT220 Keyboard

  2-2        Top-Row Function Keypad

  3-1        Line Offsets

  3-2        Line Specifications and Line References

  4-1        EDI Commands

  5-1        Numeric Relational Operators

  5-2        Logical Operators

  7-1        String Relational Operators

  7-2        Pattern Code Characters

  C-1        DSM Command, Function, and Special Variable Abbreviations