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 1aaaa...@coco.merseine.nu z1aaaa...@coco.merseine.nu -- 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 lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390