[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] what's wrong with this code?




But has he, really? I have nothing against being proved wrong, but...

Odd's wrong (or very unclear) on one point, which is that the user stack would somehow be 'lost'.

Thats because the RTE should pull USER stack from the stackframe, but
since the SV bit is forced in the stored SR, you now use this as a SUPER
stack. I.e. the USER stack is lost.

Uhm...
In what universe does a 680x0 RTE pull any stack pointer what-so-ever from the stack?

On the stack you'll only find (for a Trap on a 680x0, x > 0):
0(a7).w  - SR
2(a7).l  -  return address
6(a7).w  - vector offset    (not there on the 68000)

No stack pointer is ever saved before entering an exception handler, nor restored on RTE. There are physically separate registers for the various stack pointers, which just get "remapped" in hardware depending on the bits in SR.

--
| Why are these | johan@klockars.net
|  .signatures  |
| so hard to do | http://www.klockars.net
|     well?     | (fVDI, MGIFv5, QLem)