Here's the expansions. Have to admit the UNTIL version is one less instruction.
649 DO
WHILE,TROT,R14,R2,B'0001'
00000150 653+_D00069A DC 0H
(LVL 1, DO WHILE # 649)
00000150 B992 00E2 655+ TROT R14,R2
00000154 A7E4 0004 0000015C 657+ JC
14,_D00069E
659 ENDO
00000158 A7F4 FFFC 00000150 663+ J
_D00069A
0000015C 664+_D00069E DC 0H
(LVL 1, DO W # 649)
666 *
667 DO
UNTIL,TROT,R14,R2,B'1110'
0000015C 671+_D00075A DC 0H
(LVL 1, DO UNTIL # 667)
673 ENDO
0000015C B992 00E2 678+ TROT R14,R2
00000160 A714 FFFE 0000015C 680+ JC
1,_D00075A
00000164 681+ DC 0H
(LVL 1, DO U # 667)
683 *
FWIW, we use local proprietary SPM set, so the syntax and expansions
aren't likely to be exactly like IBM's or yours.
On Thu, Oct 12, 2017 at 12:37 AM, Ed Jaffe <[email protected]> wrote:
> On 10/11/2017 2:18 PM, Steve Smith wrote:
>>
> Here's what I get if I specify UNTIL=NO:
>
> .00004506 B982 0000 36995 ¦ XGR R0,R0 Ensure no stop char
> . 36996 ¦ DO UNTIL=NO Do for all chars
> .0000450A B992 00E2 37014 ¦ : TROT R14,R2 Convert to hex
> .0000450E A714 FFFE 0000450A 37015 ¦ ENDDO , EndDo
>
> And here's what I get if I specify WHILE=O:
>
> .00004506 B982 0000 36995 ¦ XGR R0,R0 Ensure no stop char
> .0000450A A7F4 0004 00004512 36996 ¦ DO WHILE=O Do for all chars
> .0000450E B992 00E2 37015 ¦ : TROT R14,R2 Convert to hex
> .00004512 A714 FFFE 0000450E 37016 ¦ ENDDO , EndDo
>
--
sas