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

Reply via email to