Browse Prior Art Database

Structured Programming Processor

IP.com Disclosure Number: IPCOM000083592D
Original Publication Date: 1975-Jun-01
Included in the Prior Art Database: 2005-Mar-01
Document File: 3 page(s) / 39K

Publishing Venue

IBM

Related People

Kawalec, MT: AUTHOR

Abstract

The structural programming processor diagrammed is specially designed to be capable of executing programs which have been properly structured. Structured programs, generally speaking, are programs which have only one entry and one exit point, with each successive level of detail being constructed either of sequentially executed instructions, IF-THEN-ELSE, or DO-WHILE conditional branching instructions.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Structured Programming Processor

The structural programming processor diagrammed is specially designed to be capable of executing programs which have been properly structured. Structured programs, generally speaking, are programs which have only one entry and one exit point, with each successive level of detail being constructed either of sequentially executed instructions, IF-THEN-ELSE, or DO-WHILE conditional branching instructions.

By the implementation of structure control instructions specially tailored for writing structured programs, the inefficiencies in existing structured programs of excess storage space and execution time, due to the use of conventional programming and macro languages, can be largely eliminated.

In logic shown in the diagram, the program structure is checked as it is performed by use of an address comparing unit and a last in-first out queue to hold two sets of addresses. The usual Instruction Address Register (IAR) 1 contains the address of the next instruction to be fetched for execution and will be incremented sequentially, until a structured control operation is recognized in program store 2.

At this time, adder 3 generates on lines 4 and 5 a pair of storage addresses representing branch points. Address A on line 5 is compared in comparator 6 with the address A stored at the top of a last in-first out queue 7 and if the new address is less than or equal to that from queue 7, enque control 8 will cause entry of the new addresses to the top of queue 7.

If enque control 8 detects that the new address A is greater than the stored address A at the top of queue 7, it has found a violation of the structured programming rules and a program check is set to terminate program execution. Thus, the address A's stored in queue 7 represent, from the top down, a monotonically increasing sequence of addresses.

As processing proceeds, comparator 9 continually compares address A at the top of queue 7 with the current address in IAR 1 to determine the ending address of a sequence. When the two addresses are equal, deque control 10 will move the address B from the top portion of queue 7 through AND 11 to replace the address in IAR 1, and will then push up the addresses in queue 7 to bring a new set of addresses to the top of the queue.

The IF-THEN-ELSE and the DO-WHILE instructions comprise a minimum set of structure control instructions. In the IF-THEN-ELSE instruction, the condition(s) specified by IF is tested and if true, t...