Browse Prior Art Database

Symbolic Data Dump Subroutine

IP.com Disclosure Number: IPCOM000075131D
Original Publication Date: 1971-Aug-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 3 page(s) / 56K

Publishing Venue

IBM

Related People

Norton, HT: AUTHOR

Abstract

The above program flowchart is a subroutine to aid a programmer in debugging his program. The purpose of the subroutine is to obtain a data dump of data items or any other labeled item in the program to be debugged. During assembly of the program, the programmer uses an assembler program to build up a descriptor list, as shown in Fig. 1. Subsequently, during the running of the program when the programmer calls for a data dump, he calls up the subroutine shown in Fig. 2 which utilizes the descriptor list in Fig. 1 to achieve the data dump. The dump is helpful in that only those items named in the descriptor list are dumped. In addition, when they are dumped, they are converted to an understandable language for the programmer.

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 52% of the total text.

Page 1 of 3

Symbolic Data Dump Subroutine

The above program flowchart is a subroutine to aid a programmer in debugging his program. The purpose of the subroutine is to obtain a data dump of data items or any other labeled item in the program to be debugged. During assembly of the program, the programmer uses an assembler program to build up a descriptor list, as shown in Fig. 1. Subsequently, during the running of the program when the programmer calls for a data dump, he calls up the subroutine shown in Fig. 2 which utilizes the descriptor list in Fig. 1 to achieve the data dump. The dump is helpful in that only those items named in the descriptor list are dumped. In addition, when they are dumped, they are converted to an understandable language for the programmer.

The descriptor list in Fig. 1 is made up of three basic parts. Starting at the left, the first, or type, portion is the type/conversion data. This information will specify the type of entry and whether a data item conversion is desired when that data is dumped (printed out). The next, or address, portion of each entry in the descriptor list is an address for a data item. For the first entry, the entire second portion is used to specify the base address.

For subsequent entries, the address portion is used to specify the offset address and the length of the data item to be dumped.

Finally, the third, or name, portion of each entry in the descriptor list is the name or label of the data item.

During assembly of the program, the programmer uses the assembler language to generate the descriptor list. For each labeled data item which the programmer wishes to place in the descriptor list, he specifies the name, type, and conversion desired when that data item is later dumped.

The types of entries which may exist are base entry, item entry, registers entry and array entry. Base entry specifies a first or base address from which the data dump will reference the core locations to be dumped. The item entry specifies a data item to be dumped and is addressed relative to the base address by specifying an offset address. The offset address is simply a difference quantity from the base address. During the assembly process, the name specified for the data item in the descriptor list is also used in its numeric form to derive the offset address. Thus, there is dual use of the symbolic name for each data item.

A registers entry indicates that the contents of the registers in the central processing unit are to be dumped. There is no conversion required for the registers entry as the data items are always hexadecimal in the registers.

The array entry calls for the dumping of arrays of items from memory. The array address descriptor in the descriptor list specifies the number of bytes occupied by each iterat...