DATA ITEM DESCRIPTION

Form Approved

OMB No. 0704-0188

1. TITLE

SOFTWARE PROGRAMMER'S MANUAL

1. IDENTIFICATION NUMBER

DI-MCCR-80021A

3. DESCRIPTION, PURPOSE

3.1 The Software Programmer's Manual (SPM) provides information needed by a programmer to understand the instruction set architecture of the specified host and target computers.

3.2 The SPM provides information that may be used to interpret, check out, troubleshoot, or modify existing software on the host and target computers.

4. APPROVAL DATE

(YYMMDD)

880229

5. OFFICE OF PRIMARY RESPONSIBILITY

(OPR)

E C

6a. DTIC APPLICABLE

6b. GIDEP APPLICABLE

7. APPLICATION/INTERRELATIONSHIP

7.1 This Data Item Description (DID) contains the format and content preparation instructions for data generated under the work tasks described by paragraph 4.6.4 of DOD-STD-2167A.

7.2 The Contract Data Requirements List should specify whether this document is to be prepared and delivered on bound 8-1/2 by 11 inch bond paper or electronic media. If electronic media is selected, the precise format must be specified.

(continued on page 2)

8. APPROVAL LIMITATION

9a. APPLICABLE FORMS

9b. AMSC NUMBER

N4337

10. PREPARATION INSTRUCTIONS

10.1 Content and format instructions. Production of this manual using automated techniques is encouraged. Specific content and format instructions for this manual are identified below.

a. Response to tailoring instructions. In the event that a paragraph or subparagraph has been tailored out, a statement to that effect shall be added directly following the heading of each such (sub)paragraph. If a paragraph and all of its subparagraphs are tailored out, only the highest level paragraph heading need be included.

b. Use of alternate presentation styles. Charts, tables, matrices, or other presentation styles are acceptable when the information required by the paragraphs and subparagraphs of this DID can be made more readable.

c. Page numbering. Each page prior to Section 1 shall be numbered in lower-case Roman numerals beginning with page ii for the Table of Contents. Each page starting from Section 1 to the beginning of the appendixes shall be consecutively numbered in Arabic numerals. If the document is divided into volumes, each such volume shall restart the page numbering sequence.

(continued on page 2)

11. DISTRIBUTION STATEMENT

DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited

 

 

7. APPLICATION/INTERRELATIONSHIP (continued)

7.3 This DID supersedes DI-MCCR-80021 dated 4 June 1985.

10. PREPARATION INSTRUCTIONS (continued)

d. Document control numbers. For hard copy formats, this document may be printed on one or both sides of each page (single-sided/double-sided). All printed pages shall contain the document control number and the date of the document centered at the top of the page. Document control numbers shall include revision and volume identification as applicable.

e. Multiple (sub)paragraphs. All paragraphs and subparagraphs starting with the phrase "This (sub)paragraph shall..." may be written as multiple subparagraphs to enhance readability. These subparagraphs shall be numbered sequentially.

f. Document structure. This manual shall consist of the following:

(1) Cover

(2) Title page

(3) Table of contents

(4) Scope

(5) Referenced documents

(6) Software compilation

(7) Programming information

(8) Notes

(9) Appendixes.

10. PREPARATION INSTRUCTIONS (continued)

 

10.1.1 Title page. The title page shall contain the information identified below in the indicated format:

 

[Document control number and date: Volume x of y (if multi-volume]

[Rev. indicator: date of Rev.]

 

 

SOFTWARE PROGRAMMER'S MANUAL

FOR THE

[COMPUTER SYSTEM NAME]

OF

[SYSTEM NAME]

 

 

CONTRACT NO. [contract number]

CDRL SEQUENCE NO. [CDRL number]

Prepared for:

[Contracting Agency Name, department code]

Prepared by:

[contractor name and address]

 

10.1.2 Table of contents. This document shall contain a table of contents listing the title and page number of each titled paragraph and subparagraph. The table of contents shall then list the title and page number of each figure, table, and appendix, in that order.

10.1.3 Scope. This section shall be numbered 1 and shall be divided into the following paragraphs.

10.1.3.1 Identification. This paragraph shall be numbered 1.1 and shall contain the approved identification numbers, titles, and abbreviations, if applicable, of the system, Computer Software Configuration Items (CSCIs), the host computer(s), and the target computer(s) to which this SPM applies.

10.1.3.2 System overview. This paragraph shall be numbered 1.2 and shall briefly state the purpose of the system and the computer system(s) to which this SPM applies.

10.1.3.3 Document overview. This paragraph shall be numbered 1.3 and shall summarize the purpose and contents of this manual.

10.1.4 Referenced documents. This section shall be numbered 2 and shall list by document number and title all documents referenced in this manual. This section shall also identify the source for all documents not available through normal Government stocking activities.

10.1.5 Software programming environment. This section shall be numbered 3 and shall be divided into the multiple paragraphs and subparagraphs to describe the host and target computer(s) operating system, and other software involved in loading, compiling, and executing the software. If information required below is provided in a commercially available document, that document shall be referenced by title, number, and applicable paragraph(s).

a. Equipment configuration. Describe the components and configuration of the host and target computer systems.

b. Operational information. Describe the operating characteristics, capabilities, and limitations of the host and target computer systems. Include, as applicable:

(1) Machine cycle time

(2) Word length

(3) Memory capacity and characteristics

(4) Instruction set characteristics (e.g., augment capabilities, co-processor availability)

(5) Interrupt capabilities

(6) Modes of operation (e.g., batch, interactive, privileged, and non-privileged, etc.)

(7) Operational registers

(8) Error indicators

(9) Input/output characteristics

(10) Special features.

c. Compilations, assemblies, and linkages. Describe 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 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 of compilations and assemblies.

10.1.6 Programming information This section shall be numbered 4 and shall be divided into multiple paragraphs and subparagraphs as appropriate to describe programming information relative to the host and target computers. If the information required below is prided in a commercially available document, that document shall be referenced by title, number, and applicable paragraph(s). If the host and target computers are the same, the information shall be provided only once.

a. Programming features. Describe the computer's instruction set architecture. Include, as applicable:

(1) Data representation (e.g., byte, word, integer, floating-point, packed decimal, double precision)

(2) Instruction formats and addressing modes (e.g., operation codes (OPCODES), OPCODE formats, operand types, addressing (e.g., implicit, immediate, absolute, relative, branch)

(3) Special registers and words (e.g., stack pointer, program counter, processor status word)

(4) Control instructions (e.g., branch, jump, subroutine, and procedure call instructions, privileged instructions, and the modes they operate in)

(5) Subroutines and procedures (e.g., non-reentrant, reentrant, macrocode routines, argument lists, parameter passing conventions (call by name, call by value))

(6) Interrupt processing

(7) Timers and clocks

(8) Memory protection features (e.g., read-only memory)

(9) Additional features.

b. Program instructions. Describe each instruction in the computer's instruction set architecture. For each instruction, include, as applicable:

(1) Use

(2) Syntax

(3) Condition codes set

(4) Execution time

(5) Machine-code format

(6) Mnemonic conventions

(7) Other characteristics.

c. Input and output control programming. Describe the input and output control programming of the computer system. Include, as applicable, descriptions of:

(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 or special techniques. Describe additional or special programming techniques associated with the computer system (e.g., a concise description of the microprogram control section showing how the user instruction set is implemented via microcode).

e. Programming examples. Provide examples that demonstrate the programming features described above. Include examples of the proper use of all categories of instructions on the specific computer system.

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

10.1.7 Notes. This section shall be numbered 5 and shall contain any general information that aids in understanding this document, (i.e., background information, glossary). This section shall include an alphabetical listing of all acronyms, abbreviations, and their meanings as used in this document.

10.1.8 Appendixes. Appendixes 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.), and the paragraphs within each appendix be numbered as multiples of 10 (e.g., Appendix A, paragraph 10, 10.1, 10.2, 20, 20.1, 20.1, etc.). Pages within each appendix shall be numbered alpha-numerically as follows: Appendix A pages shall be numbered A-1, A-2, A-3, etc. Appendix B pages shall be numbered B-1, B-2, B-3, etc.