Browse Prior Art Database

On Line Debug Macro and Subroutine

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

Publishing Venue

IBM

Related People

Memis, RD: AUTHOR [+2]

Abstract

This Debug macro and routine is designed for use on the IBM System 360 Disk Operating System, used within a Basic Assembler mainline or subroutine. The subroutine can be catalogued in the Relocatable Library and link-edited to the mainline program by use of the CALL statement.

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

On Line Debug Macro and Subroutine

This Debug macro and routine is designed for use on the IBM System 360 Disk Operating System, used within a Basic Assembler mainline or subroutine. The subroutine can be catalogued in the Relocatable Library and link-edited to the mainline program by use of the CALL statement.

This imperative macro generates instructions to link the Debug subroutine to the mainline program. Each time the Debug macro is executed, the Debug subroutine is called, and the user has "on-line" debug capabilities. When executed, the PROGRAM and TRACE names are typed on the IBM 1052 Printer Keyboard to identify the origin of the CALL. Prototype: name operation operands label DEBUG PGMNAME = name 1 , TRACE = name 2 label: Optional; if used, label assigned to the DEBUG expansion. PGMNAME = name 1: Name of program, from 1 to 8 characters. If omitted, the CSECT must be named. This name is used as a header for all DEBUG messages. TRACE = name 2: Optional; from 1 to 8 characters. These characters will print on the 1052 Printer Keyboard when the DEBUG routine is first entered.

The Debug subroutine is a useful tool for "on-line" debugging. When it is executed, the programmer is able to view and change storage in the mainline program, view and change the 16 general purpose registers and 4 floating point registers, dump core, branch to any location in the program, set up a stop address, or terminate the job. Basically, this subroutine is an "automation" of the manual controls on the Console. It can be used: 1) To trace the progress of a program - By placing the DEBUG macro at strategic locations in the mainline program, the pattern of execution can be traced. Each time the macro is executed, the TRACE name is typed on the 1052 Printer Keyboard. The programmer has the option to view or alter storage and/or registers or to ...