Basic System Problem Analysis - August 2003
65
Case Study: SA663 continued
The illustration shows how we would mimic the actions of the instructions to find out
what this value was.
The command
$1a2 ($70) nmdat > dv [sp-#172]
Employs indirection ([ and ]) so that rather than loading the value at SP-#172 we are
instead saying take the value at SP-#172 and show me what it points to.
The value that it points to looks like it could be an HPE_STATUS. This would make
sense because the call to tm_unlink_gdpd passed in R24 the value at SP-#172 so it would
be logical to assume that this is a status variable and on return from the procedure we are
checking it to see if the call succeeded.
Note: Most HPE_STATUS values have a the following characteristics:
• The left 16 bit value will be negative “info” value, positive values are warnings
but because they are positive they are harder to spot if you are guessing
• The right 16 bits will have a small positive “subsys” value. You can get a list of
subsystem values with “syml subsys@,,const”. There will be a few non-
subsystems scattered in there but most will be valid MPE/iX subsystem numbers.
One of the tricks in successful dump reading is being able to identify a something just by
they way it looks. For example:
ffef00a6
That looks like it could be an HPE_STATUS. It has a negative “info” field and the “a6”
happens to be a valid subsystem number. Where as
00ab9a00
Does not look like it could be a valid HPE_STATUS value. The ‘9a00’ is way out of
range of subsystem numbers.