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
