Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!ira.uka.de!smurf!gopnbg!tmpmbx!netmbx!hase From: hase@netmbx.UUCP (Hartmut Semken) Newsgroups: comp.sys.atari.st Subject: Re: (TECH) 68030 execptions Keywords: different from 68000 Message-ID: <841@netmbx.UUCP> Date: 27 Jun 90 07:04:36 GMT References: <4947@brahma.cs.hw.ac.uk> Reply-To: hase@netmbx.UUCP (Hartmut Semken) Organization: netmbx, Berlin, West Germany Lines: 20 In article <4947@brahma.cs.hw.ac.uk> neil@cs.hw.ac.uk (Neil Forsyth) writes: >Apparently the 68030 has a different execption stack frame to the 68000 >one. Does anyone know how they differ? Programs that intercept the system >TRAPs are going to break on the TT unless they take this into account. The 030 has more registers than a 000. So it will save more on the stack when hit by an exception. It's the same with 010 and 020 MPUs: for example the 010 saves her workspacepointer (register indicating the starting adress of the exception vectors) and the state of the decoding pipeline on the stack when hit by a BUSERR or the like. So any program that tries to pop something of the stack by ADDing to the stackpointer, will probably break, cause the 010,020 and 030 put more on the stack than the program exspected. hase -- Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP Hi! (Zaphod Beeblebrox)