On: Mon, 9 Oct 2017 21:21:52 -0700
Ed Jaffe wrote:

> We recently terminated a reckless/destructive/rogue/cowboy programmer
> who would routinely and subversively insert "land mines" into our code
> without anyone knowing. Someone found another one this week:

> |        DO UNTIL=NO                   Until all chars processed
> |  * Until we break free from OPTABLE(YOP), the ORG game must be used
> |          TROT  R14,R2                  Convert to hex
> |          ORG   *-2                     ORG back to set M3 field
> |          DC    X'10'                   M3 = 1 to suppress stopper
> |          ORG   ,                       ORG back
> |        ENDDO ,                       EndDo TROT

> ..., he chose to alter the instruction via ORG/DC.
> (IMHO, ORGing back to change an instruction is a form of self-modifying
> code, which we don't allow.)

* There's one place I'm tempted to do this.  I can
         MVI   TARGET,C'['

* But this causes a syntax error:
         MVI   TARGET,CA'['
* ... because HLASM is too pigheaded to accept C'[' as s
* self-defining term.  The rationale given is that this is
* subject to code page ambiguity,  Absurd because the code
* for '[' is more stable among ASCII pages than among EBCDIC.

* So, I could:
         MVI   TARGET,X'5B'    Ugh!

* Or:    (Sigh!)
         MVC   TARGET(1),=CA'['
* ... but isn't this subject to the same code page ambiguity?

* Or:    (Sigh!)
         MVI   TARGET,C'['
         ORG   *-3
         DC    CA'['
         ORG
         ORG

I hate EBCDIC!

-- gil

Reply via email to