02-10-2012, 01:07 AM
boriel Wrote:britlion, does the FASTCALL and push pop sequence I put worked for you?
No.
I still don't understand this, apparently.
e.g.: function mirror (dowedoit as uByte, number as uByte) as uByte
This gets dowedoit in the A register, and both dowedoit and number in the stack.
Stack seems to be:
return address
<some pair of bytes I can't work out>
first parameter pair
second parameter pair
However, if in the above case I do
pop hl
pop de
pop de
pop bc
push hl
ret
It still seems to behave very strangely.
I know that a first byte parameter is at IX+5 (and IX+4 if it's 16 bit)- so logically it's the return address at IX+0, and IX+1. What's at IX+2,IX+3?