Base-Register Conflict Detection in HLASM Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In assembly languages like HLASM, conflicts can occur when different program sections use the same base register for address resolution, leading to incorrect address calculations and potentially catastrophic errors such as data corruption or loss, as existing systems fail to detect and correct these conflicts effectively.

Innovation Solution

A system comprising a parsing module, identification module, determination module, notification module, and rectification module to detect and notify users of base-register conflicts, and optionally correct them by converting source code into object code, using a processor and memory device to analyze and modify source code to avoid conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If multiple program sections use the same base register for address resolution, then the device complexity is reduced and code is simplified, but address calculation accuracy deteriorates and data corruption occurs

Engineering Contradiction:
Improvedevice complexityVSAvoidaddress calculation accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The invention performs preliminary detection of base-register conflicts during the assembly process before the program is executed. The conflict detection mechanism identifies when multiple program sections attempt to use the same base register, and issues warnings or errors to prevent incorrect address calculations before they occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements a feedback mechanism where the assembler monitors base register usage across different program sections and provides feedback about conflicts to the programmer. This feedback loop allows the system to detect and report address calculation errors that would otherwise go unnoticed until runtime.

Inventive Principle:
Principle #23Feedback

2Productivity

If the assembler automatically calculates displacements using USING statements, then productivity is improved and manual recalculation is eliminated, but undetected base-register conflicts cause catastrophic errors

Engineering Contradiction:
ImproveproductivityVSAvoidreliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The invention performs preliminary detection of base-register conflicts during the assembly process before the program is executed. The conflict detection mechanism identifies when multiple program sections attempt to use the same base register, and issues warnings or errors to prevent incorrect address calculations before they occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements a feedback mechanism where the assembler monitors base register usage across different program sections and provides feedback about conflicts to the programmer. This feedback loop allows the system to detect and report address calculation errors that would otherwise go unnoticed until runtime.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If explicit base-displacement form is used for address resolution, then measurement precision of address locations is improved, but ease of operation deteriorates and manual recalculation is required

Engineering Contradiction:
Improveaddress location precisionVSAvoidease of operation
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The invention introduces an intermediary conflict detection mechanism between the programmer's explicit address specifications and the final assembled code. This intermediary layer analyzes base register usage patterns and detects conflicts before they manifest as runtime errors, bridging the gap between precise address specification and operational ease.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7694286B2Apparatus and method for detecting base-register usage conflicts in computer code
Publication Date: 2010.04.06 X CORP
  • US7694286B2 patent drawing
  • US7694286B2 patent drawing
  • US7694286B2 patent drawing

AI summary

An apparatus for detecting base-register usage conflicts in computer code includes a parsing module configured to parse source code, an identification module configured to identify statements in the source code that reference a base register for address resolution according to base-displacement form, and a determination module configured to determine whether a base register referenced by one statement matches the base register referenced by another. If two statements do reference the same register, an apparatus and method in accordance with the invention may notify a user such that corrective action may be taken.