If you add a Thing to the list of Things by using the software described in the
manual for the Trap #1 routine sms.lthg you will find that the linkage block
you have provided is partially completed (which is correct) but that, in
addition, the long word 12 bytes before the start of the linkage block is set
with the linkage block's address.
Does anyone know the reason for this bizarre and potentially dangerous
operation?
The source code for this is:
LEA TH_FRZAP+IOD_IOLK-IOD_CLOS(A1),A0
MOVE.L A0,CHP_DRLK-CHP_END(A1)
A1 points to the linkage block. Now, given that:
TH_FRZAP = $0C
IOD_IOLK = $18
IOD_CLOS = $24
CHP_DRLK = $04
CHP_END = $10
the two instructions become:
LEA (A1),A0 [a slightly unusual way of putting A1
into A0?]
MOVE.L A0,-12(A1)
I can't refrain from commenting that these two instructions could have been
written more shortly as:
MOVE.L A1,-12(A1)
which perhaps shows more clearly the peculiar nature of this part of HOT_REXT.
George
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm