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