Re: Quick error termination of an assembler routine (Was: Performance of Decimal Floating Point Instruction)

2017-05-13 Thread Charles Mills
Well, in reality you are right of course (who cares about the i-cache?) but
in theory one is branching around and NOT crashing, so not wasting the
i-cache is a desirable goal. 

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Tony Thigpen
Sent: Saturday, May 13, 2017 7:20 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Quick error termination of an assembler routine (Was:
Performance of Decimal Floating Point Instruction)

Who cares about the Instruction Cache? You are crashing the program.

Especially with just a one byte error code. We are talking about "it should
never get there" code, or test code to abend.

Tony Thigpen

Keven Hall wrote on 05/12/2017 06:53 PM:
> Regarding code like:
>>  BZNOERROR  (If RC==0.)
>>  DCX'00',C'You shouldn'ta done that.'
>
> I'd suggest documenting the error in source code rather than the
instruction cache (or using a 1-byte numeric error code.
>
> Possibly I'm being pedantic.  For sure I'm dragging this thread ever
further from its original subject.
>
> Keven
>
>> On May 12, 2017, at 11:57, Paul Gilmartin
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:
>>
>>> On 2017-05-12, at 09:56, somitcw wrote:
>>>
>>> My favourite was to branch to an odd address.
>>>
>>> S0C1 and S0C7 ABENDs are common, but any S0C6 abend was mine.
>>> If an operator called at 2:00AM, I would know who caused 3 pair of
socks.
>>>
>> Unfortunately, IIRC the exception occurs after the branch is taken so 
>> the PSW provides no ready indication of the point of error.
>>
>>> Coding so that the assembler didn't flag it was needed but easy.
>>> Something like:
>>>
>>> BNE ERRLABEL-CSECT-1(BASEREG)
>>>
>> I suppose that could be doctored so the PSW points near either the 
>> point at which the error was detected or to an error message.
>>
>> I think of:
>>  BZNOERROR  (If RC==0.)
>>  DCX'00',C'You shouldn'ta done that.'
>> NOERROR  DS0X
>>
>> -- gil
>
>


Re: Quick error termination of an assembler routine (Was: Performance of Decimal Floating Point Instruction)

2017-05-13 Thread Tony Thigpen

Who cares about the Instruction Cache? You are crashing the program.

Especially with just a one byte error code. We are talking about "it 
should never get there" code, or test code to abend.


Tony Thigpen

Keven Hall wrote on 05/12/2017 06:53 PM:

Regarding code like:

 BZNOERROR  (If RC==0.)
 DCX'00',C'You shouldn'ta done that.'


I'd suggest documenting the error in source code rather than the instruction 
cache (or using a 1-byte numeric error code.

Possibly I'm being pedantic.  For sure I'm dragging this thread ever further 
from its original subject.

Keven


On May 12, 2017, at 11:57, Paul Gilmartin 
<0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:


On 2017-05-12, at 09:56, somitcw wrote:

My favourite was to branch to an odd address.

S0C1 and S0C7 ABENDs are common, but any S0C6 abend was mine.
If an operator called at 2:00AM, I would know who caused 3 pair of socks.


Unfortunately, IIRC the exception occurs after the branch is taken
so the PSW provides no ready indication of the point of error.


Coding so that the assembler didn't flag it was needed but easy.
Something like:

BNE ERRLABEL-CSECT-1(BASEREG)


I suppose that could be doctored so the PSW points near
either the point at which the error was detected or to
an error message.

I think of:
 BZNOERROR  (If RC==0.)
 DCX'00',C'You shouldn'ta done that.'
NOERROR  DS0X

-- gil