Thanks John for a detailed explanation - I will keep these points in mind,
next time I come across such problem.
You are right, it really helps a lot, to be an assembly language programmer.

Regards,
Raja

On Sat, Nov 21, 2009 at 11:13 PM, John Summerfield <
[email protected]> wrote:

> rui wrote:
>
>> I am now thinking of becoming a machine level programmer :) Thanks
>> Christian
>> and others for your valuable feedback and helping me solve the problem.
>> Very
>> valuable learning, to inspect the actual instructions for me.
>> This code was in place for Linux only, I have now gotten round it for
>> s390.
>>
>
> This is one of the times when having programmed in assembly language is
> useful:-)
>
>
> When trying to solve these kinds of problems, it's useful to know that
> the CPU is trying to digest, and what it's capable of (the reason I
> asked about the model).
>
> Most (I think) CPUs advance the program counter after fetching the
> instruction. An obvious exception is when the instruction can't be
> accessed (program check 4 or 5).
>
> When the CPU has suffered acute indigestion, backtracking can be a bit
> of guesswork. First try, depending on the particular error, is to look
> at the immediate prior bytes to see what might be instructions that
> might have given rise to the existing PC value and the error.
>
> In the case of addressing errors, it helps to understand how branches
> are taken. Eons ago when I learned this stuff, a program check at one of
> these addresses:
> x'48'
> x'50'
> x'4800'
> x'5000'
> generally meant a program had tried to read or write an unopened file
> and there was usually a message about a missing DD card. R14 contained
> the return address and R1 the address of the relevant DCB.
>
> _I_ generally use R12 as my base register in my assembler programs, and
> one time a missing DD lead to an unconditional branch on R12 at one of
> those addresses. The result, a S322 abend (used all CPU time) and a
> greater time limit lead to a S322 abend. Umm.
>
>
>
>
>
> --
>
> Cheers
> John
>
> -- spambait
> [email protected]  [email protected]
> -- Advice
> http://webfoot.com/advice/email.top.php
> http://www.catb.org/~esr/faqs/smart-questions.html
> http://support.microsoft.com/kb/555375
>
> You cannot reply off-list:-)
>
> ----------------------------------------------------------------------
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO LINUX-390 or
> visit
> http://www.marist.edu/htbin/wlvindex?LINUX-390
>

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to