On 08/06/2018 12:20, gdgqler--- via Ql-Users wrote:
On 14 Feb 2018, at 13:49, pjwitte via Ql-Users <ql-users@lists.q-v-d.com> wrote:
|In later versions of the QDOS and SMSQ/E Reference Manual the documentation on
QA.RESRI (aka bv.chrix), to test or stretch the arithmetic stack states:
Vector $11A Reserve Room on Arithmetic Stack QA.RESRI
Call parameters Return parameters
D1.L Number of bytes required D1 ???
D2 D2.L ???
D3 D3.L ???
A0 A0 Preserved
A1 Pointer to RI stack (rel. A6) A1 ???
A2 A2 Preserved
A3 A3 Preserved
Error returns:
IMEM out of memory [SMSQ]
none [QDOS]
This is strongly suspected to be incorrect. It should say the following (two
corrections):
||Vector $11A Reserve Room on Arithmetic Stack QA.RESRI
Call parameters Return parameters
D1.L Number of bytes required D1 ???
D2 D2.L ???
D3 D3.L ???
A0 A0 Preserved
A1 A1 ???
A2 A2 Preserved
A3 A3 Preserved
Error returns: none
D0 returns the error code under SMSQ but is corrupted under QDOS
It appears that, on an error, QDOS doesnt return here at all!
Under SMSQ/E it may return an error (IMEM), but the error code is not
always set! That implies that you could get a wrong result, depending
on what was in D0 before the call.
To my mind, SMSQ/E should behave the same way as QDOS in this
instance, as many old toolkits will not test the error code, assuming
that if the call returns, it implies there was no error. In other
words, IMHO, SMSQ/E's behaviour here is a BUG.
Per
_______________________________________________
QL-Users Mailing List