>"This isn't a 'real' branch-that is, we aren't going very far..."
Donald Knuth's assembler, which we had available in college in the 70's, had the concept of a "relative label". I can't remember if there was one name pattern for "forward" and one for "backward" or whether you couldn't use it for "backward". It avoided unnecessarily unreadable label names, and avoided the uniqueness problem. And when used properly (i.e., well within a "screen" amout) it was perfectly clear. The label name was like "1R" for "first one ahead, relative" or perhaps it was "find the first 1R label ahead", for example J 1R When used appropriately (as a substitue for all of these *+small_number types of cases) it avoided the maintainability problems of having to know how long everything was. By the way, I still remember being amazed at a demonstration of producing "N factorial" using IBM/360 assembler macro language (at least for small enough numbers). Peter Relson z/OS Core Technology Design
