It looks like it would run on my DOS/VS system with only a minimum of modification needed
This code once ran on several 360/40 machines as well as some Burroughs 3500/5500 machines. On the 360, it ran on the pre-VSE DOS.
I've been dragging it around for 40 years. . .
The biggest reason most of the things i post are not goto-less was due to performance (once was involved with performance measurement and we made the discovery that the 70's interpretation of structures would eat entire 370's). If the entire program runs in nested performs, the paging inflicted on the old systems was worse than the i/o to run the job.
What i've been able to influence in several organizations is the concept that "structured code" need not be "goto-less". Properly used goto's are not a problem for readability/maintenance. Actually, the very worst case of spaghetti code was in a quite large goto-less program that employed many, many switches to keep track of "where it was" at the moment.
One thing i'd fall on my sword over today is that the local standards be followed
As i've been a migrant data worker (consultant/contractor) since '78 i have seen many sets of standards and most are not the same. . .
Otherwise, i believe that all code has 3 requirements:
1. works right every time.
2. uses a reasonable amount of resource.
3. is easily maintainable.