DI-IPSC-81447A
Computer Programming Manual (CPM)
The Computer Programming Manual (CPM) provides information needed by a programmer to understand how to program a given computer, focusing on the computer itself rather than particular software.
Approval DateDecember 15, 1999
AMSC NumberN7369
Preparing Activity—
Project Number—
OPRN/SPAWAR
DTIC Applicable—
GIDEP Applicable—
Limitation—
Applicable Forms—
Approval Limitation—
Form Version—
DID Formatdd_form_1664
963C CompliantNo
DISTRIBUTION STATEMENT A: Approved for public release; distribution is unlimited.
Application & Interrelationship
—
Use & Relationship
The Computer Programming Manual (CPM) provides information needed by a programmer to understand 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.
This Data Item Description (DID) contains the format and content preparation instructions for the data product generated by specific and discrete task requirements as delineated in the contract.
This DID is used when the developer is tasked to identify and record information needed to program the computer(s) on which software was developed or on which it will run.
This DID supersedes DI-IPSC-81447.
Preparation Instructions
1Reference documents.None.
2.1Automated techniques.Use of automated techniques is encouraged. The term "document" in this DID means a collection of data regardless of its medium.
2.2Alternate presentation styles.Diagrams, tables, matrices, and other presentation styles are acceptable substitutes for text when data required by this DID can be made more readable using these styles.
3Format.Following are the format requirements.
The manual shall be in contractor format unless otherwise specified on the Contract Data Requirements List (CDRL)(DD 1423). The CDRL should specify whether deliverable data are to be delivered on paper or electronic media; are to be in a given electronic form (such as ASCII, CALS, or compatible with a specified word processor or other support software); may be delivered in developer format rather than in the format specified herein; and may reside in a computer-aided software engineering (CASE) or other automated tool rather than in the form of a traditional document.
4Content.The manual shall contain the following:
4.1Title page or identifier.The document shall include a title page containing, as applicable: document number; volume number; version/revision indicator; security markings or other restrictions on the handling of the document; date; document title; name, abbreviation, and any other identifier for the system, subsystem, or item to which the document applies; contract number; CDRL item number; organization for which the document has been prepared; name and address of the preparing organization; and distribution statement. For data in a database or other alternative form, this information shall be included on external and internal labels or by equivalent identification methods.
4.2Table of contents and index.The document shall contain a table of contents providing the number, title, and page number of each titled paragraph, figure, table, and appendix, and an index providing an alphabetic listing of key terms and concepts covered in the document and the pages or paragraphs in which the terms or concepts are covered. For data in a database or other alternative form, this information shall consist of an internal or external table of contents containing pointers to, or instructions for accessing, each paragraph, figure, table, and appendix or their equivalents.
4.3Page numbering/labeling.Each page shall contain a unique page number and display the document number, including version, volume, and date, as applicable. For data in a database or other alternative form, files, screens, or other entities shall be assigned names or numbers in such a way that desired data can be indexed and accessed.
4.4Response to tailoring instructions.If a paragraph is tailored out of this DID, the resulting document shall contain the corresponding paragraph number and title, followed by "This paragraph has been tailored out." For data in a database or other alternative form, this representation need occur only in the table of contents or equivalent.
4.5Multiple paragraphs and subparagraphs.Any section, paragraph, or subparagraph in this DID may be written as multiple paragraphs or subparagraphs to enhance readability.
4.6Standard data descriptions.If a data description required by this DID has been published in a standard data element dictionary specified in the contract, reference to an entry in that dictionary is preferred over including the description itself.
4.7Substitution of existing documents.Commercial or other existing documents may be substituted for all or part of the document if they contain the required data.
4.8The numbers shown designate the paragraph numbers to be used in the document.
1Scope.This section shall be divided into the following paragraphs.
1.1Identification.This paragraph shall contain the manufacturer's name, model number, and any other identifying information.
1.2Computer system overview.This paragraph shall briefly state the purpose of the computer system to which this document applies.
1.3Document overview.This paragraph shall summarize the purpose and contents of this document and shall describe any security or privacy considerations associated with its use.
2Referenced documents.This section shall list the number, title, revision, and date of all documents referenced in this document. This section shall also identify the source for all documents not available through normal Government stocking activities.
3Programming environment.This section shall be divided into paragraphs as appropriate to provide the following information.
3.1The components and configuration of the computer system
3.2Operating characteristics, capabilities, and limitations, including, as applicable:
3.2.3Memory capacity and characteristics
3.2.4Instruction set characteristics
3.2.5Interrupt capabilities
3.2.6Modes of operation (e.g., batch, interactive, privileged, non-privileged)
3.2.7Operational registers
3.2.9Input/output characteristics
3.3Description of the equipment (e.g., tapes, disks, other peripheral equipment) necessary to perform compilations and assemblies on the computer system.Identify (as applicable) by name and version 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.
4Programming information.This section shall be divided into paragraphs as appropriate to provide the following information:
4.1Description of the programming features of the computer's instruction set architecture, including, as applicable
4.1.1Data representation (e.g., byte, word, integer, floating-point, double precision)
4.1.2Instruction formats and addressing modes
4.1.3Special registers and words (e.g., stack pointer, program counter)
4.1.4Control instructions (e.g., branch, jump, subroutine and procedure call instructions, privileged instructions, and the modes they operate in)
4.1.5Subroutines and procedures (e.g., non-reentrant, reentrant, macrocode routines, argument lists, parameter passing conventions)
4.1.6Interrupt processing
4.1.8Memory protection features (e.g., read-only memory)
4.1.9Additional features, such as instruction or data cache architecture
4.2Description of each instruction, including, as applicable:
4.2.6Mnemonic conventions
4.2.7Other characteristics
4.3Description of input and output control programming, including, as applicable:
4.3.1Initial loading and verification of computer memory
4.3.2Serial and parallel data channels
4.3.3Discrete inputs and outputs
4.3.4Interface components
4.3.5Device numbers, operational codes, and memory locations for peripheral equipment
4.4Additional, restricted, or special programming techniques associated with the computer system (e.g., a concise description of the microprogram control section)
4.5Examples that demonstrate the programming features described above, including examples of the proper use of all categories of instructions on the computer system
4.6Error detection and diagnostic features associated with the computer system, including condition codes, overflow and addressing exception interrupts, and input and output error status indicators
5Notes.This section shall contain any general information that aids in understanding this document (e.g., background information, glossary, rationale). This section shall include an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document and a list of any terms and definitions needed to understand this document.
AAppendices.Appendices may be used to provide information published separately for convenience in document maintenance (e.g., charts classified data). As applicable, each appendix shall be 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 shall be lettered alphabetically (A, B, etc.).
Schema v3.0Community-maintained · Verify against ASSIST