HLASM Payroll Report Subprogram Suite

Job ID: 40037625

Budget: $30 – $250 USD

I have a payroll that must run on an IBM System/370-compatible mainframe under HLASM. The goal is to break the job into well-structured subprograms that read a fixed-width employee file, calculate each worker’s base pay and any deductions with packed-decimal arithmetic, print a neatly formatted report, and finish by showing grand totals and averages.

I need separate, reusable control sections—for example, one for input, one for pay calculations, another for report generation, and a final summary routine—all linked together through save-area conventions rather than global variables. Packed-decimal fields have to stay packed throughout; conversion to display format should happen only in the print routine.

The program must compile cleanly with HLASM, run in a standard MVS batch job, and handle at least 500 records without modification. Clear in-line comments are essential so I can explain the logic during a code review.

Deliverables:
• Fully commented HLASM source with distinct subprograms
• Sample JCL to assemble, link, and execute the job
• A small fixed-width test file and the expected printed output for verification
• Brief write-up describing the save-area layout, parameter lists, and packed-decimal rules followed

If you have experience writing modular System/370 assembler that adheres to IBM conventions, I’d love your help getting this across the finish line.