Computer Programming Manual (CPM)

by admin on December 5, 2009

  • Sharebar

The Computer Programming Manual (CPM) provides information needed by a programmer to know how to program a given computer. This manual focuses on the computer itself, not on particular software that will run on the computer.
The CPM is intended for newly developed computers, special-purpose computers, or other computers for which commercial or other programming manuals are not readily available.

1. Scope

1.1 Identification
This section contains the manufacturer's name, model number, and any other identifying information for the computer system to which this document applies.

1.2 Computer System Overview
This section briefly states the purpose of the computer system to which this document applies.

1.3 Document Overview
This section summarizes the purpose and contents of this manual and describes any security or privacy considerations associated with its use.

2. Referenced Documents
This section lists the number, title, revision, and date of all documents referenced in this manual. This section also identifies the source for all documents not available through normal Government stocking activities.

3. Programming Environment
This section is divided into paragraphs as appropriate to provide the following information.

a. The components and configuration of the computer system

b. Operating characteristics, capabilities, and limitations, including, as applicable:

Machine cycle time
Word length
Memory capacity and characteristics
Instruction set characteristics
Interrupt capabilities
Modes of operation (for example, batch, interactive, privileged, non-privileged)
Operational registers
Error indicators
Input/output characteristics
Special features

c. Description of the equipment (for example, tapes, disks, other peripheral equipment) necessary to perform compilations and assemblies on the computer system. Identify (as applicable) by name and version number the editor, linker, link editor, compiler, assembler, cross compilers, cross assemblers, and other utilities used, and reference appropriate manuals describing their use. Highlight any special flags or instructions necessary for loading, executing, or recording the results.

4. Programming Information
This section is divided into paragraphs as appropriate to provide the following information.

a. Description of the programming features of the computer's instruction set architecture, including, as applicable:

    Data representation (for example, byte, word, integer, floating point, double precision)
        Instruction formats and addressing modes
        Special registers and words (for example, stack pointer, program counter)
        Control instructions (for example, branch, jump, subroutine and procedure call instructions, privileged instructions, and the modes they operate in)
        Subroutines and procedures (for example, non reentrant, reentrant, macrocode routines, argument lists, parameter passing conventions)
        Interrupt processing
        Timers and clocks
        Memory protection features (for example, read only memory)
        Additional features, such as instruction or data cache architecture

      b. Description of each instruction, including, as applicable:

      1) Use
      2) Syntax
      3) Condition codes set
      4) Execution time
      5) Machine code format
      6) Mnemonic conventions
      7) Other characteristics

      c. Description of input and output control programming, including, as applicable:

      1) Initial loading and verification of computer memory
      2) Serial and parallel data channels
      3) Discrete inputs and outputs
      4) Interface components
      5) Device numbers, operational codes, and memory locations for peripheral equipment

      d. Additional, restricted, or special programming techniques associated with the computer system (for example, a concise description of the microprogram control section)

      e. Examples that demonstrate the programming features described above, including examples of the proper use of all categories of instructions on the computer system

      f. Error detection and diagnostic features associated with the computer system, including condition codes, overflow and addressing exception interrupts, and input and output error status indicators

      5. Notes
      This section contains any general information that aids in understanding this document (for example, background information, glossary, rationale). This section includes an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document and a list of terms and definitions needed to know this document.

      6. Appendixes
      Appendixes are used to provide information published separately for convenience in document maintenance (for example, charts, classified data). As applicable, each appendix is referenced in the main body of the document where the data would normally have been provided. Appendixes may be bound as separate documents for ease in handling. Appendixes are lettered alphabetically (A, B, and so on).

Leave a Comment

Previous post:

Next post: