You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the above example the address should be 0xa48c + 144 * Index according to the standard.
The current code computes 0xa48c + 144 + Index which is incorrect.
Note that if no Offset is given the register’s length should be taken as the offset. This must be handled in the else-branch of the current code. If it was not for this fact the fix would be easy and I could make a PR myself. However it seems the length of the register is not available in the RegPIndex context so it requires some larger refactoring to fix.
The text was updated successfully, but these errors were encountered:
Adding in some context from the standard (page 27):
The <pIndex Offset=”12”> element points to a node implementing an IInteger interface delivering an index. The element has an attribute Offset. The product of index and Offset is added to the address. Alternatively the offset can be taken from a node <pIndex pOffset=”OffsetValue”>. If neither Offset nor pOffest attribute is given the register’s length is taken as offset.
The
<pIndex>
offset field is used incorrectly to compute the register address.For example:
In the above example the address should be
0xa48c + 144 * Index
according to the standard.The current code computes
0xa48c + 144 + Index
which is incorrect.Note that if no Offset is given the register’s length should be taken as the offset. This must be handled in the else-branch of the current code. If it was not for this fact the fix would be easy and I could make a PR myself. However it seems the length of the register is not available in the
RegPIndex
context so it requires some larger refactoring to fix.The text was updated successfully, but these errors were encountered: