Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site oakhill.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!vax135!cornell!uw-beaver!tektronix!decvax!genrad!panda!talcott!harvard!seismo!ut-sally!oakhill!davet
From: davet@oakhill.UUCP (Dave Trissel)
Newsgroups: net.micro.68k
Subject: Re: 68010 replacing a 68000
Message-ID: <312@oakhill.UUCP>
Date: Tue, 5-Feb-85 04:28:34 EST
Article-I.D.: oakhill.312
Posted: Tue Feb  5 04:28:34 1985
Date-Received: Sat, 9-Feb-85 04:46:19 EST
References:  <301@oakhill.UUCP> 
Reply-To: davet@oakhill.UUCP (Dave Trissel)
Distribution: net
Organization: Motorola Inc. Austin, Tx
Lines: 24
Summary: 

In article <87@drivax.UUCP> steve@drivax.UUCP (Steve Williams) writes:
>>  3) The MC68000/008 user instruction MOVE SR, was made privileged to
>>     allow for complete support for virtual machine systems.  There are two
>>     ways to provide for compatibility here:
>>      A) change the user MOVE SR, code to use the new MC68010 ...
>> 	B) Include a small bit of code in the supervisor privileged exception
>> 	   handler to simluate the MOVE SR,.  This is available from
>>	   Motorola.
>
>or      C) Put a small bit of code in the supervisor privileged exception
>           handler to CHANGE the MOVE SR, to a MOVE CCR,. (Set
>           bit 9 (200H)).  This takes 10 extra lines of code.
>

The only problem here is that it will not work for MOVE SRs in ROM.  Actually,
(B) above gives 3 methods using the exception routines:
     1) identical to C)  (which is obviously the fastest)
     2) a routine which cleverly builds a MOVE CCR on the user's stack
	and passes control to it. (Note this will only work if the user
	is allowed to execute code in his/her data space.)
 and 3) a full MOVE SR simulation. (Works in all cases but quite ineffecient.)

Motorola Secmiconductor Inc.              Dave Trissel
Austin, Texas          {ihnp4,seismo,ctvax,gatech}!ut-sally!oakhill!davet