Another point, having re-read PoOP: CC = 1 indicates "cpu-determined number of bytes processed" -- which could be as few a ONE. Therefore, to cater for the (remote) possibility that the "compare" (cond 4) exit could be triggered, the correct code would be DO WHILE=(TROT,R14,R2,1,NZ) ENDDO
-----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Rob van der Heij Sent: 12 October 2017 08:35 To: [email protected] Subject: Re: Rehabilitated TROT Routine (Was: Detection of Compile-Time Self-Modifying Code) On 12 October 2017 at 08:03, Pieter Wiid <[email protected]> wrote: > Correction: > > DO WHILE,TROT,R14,R2,B'0001',1 > ENDDO > > Constructs where evaluation of the condition has a side effect (or completely relies on the side effect) are often more a convenience to the writer than to the reader. When working in a language that encourages it, I try to restrain myself to common constructs like testing a null pointer with the assignment. There's something to say for languages where it's left to the compiler to optimize that. Rob --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
