[Coco] [Color Computer] OS-9 Question, GCC stuff

jdaggett at gate.net jdaggett at gate.net
Sat Jul 23 12:02:47 EDT 2005


Curtis

That will work if when context switching and all the registers are 
stacked and recalled. If the OS did not preserve the state of the DP 
register when switching context from the kernal to the modules then 
recal the state of the DP register after module execution t hen t here 
would be a wh ole lot of trouble. 

Still the main issue is one needs to take care when altering the  DP 
register within a user program. Either the OS or the user program 
has to insure that the DP register is preserved on entering and 
exiting the user task. 

james

On 22 Jul 2005 at 20:38, L. Curtis Boyle wrote:

Date sent:      	Fri, 22 Jul 2005 20:38:23 -0600
From:           	"L. Curtis Boyle" <curtisboyle at sasktel.net>
Subject:        	Re: [Coco] [Color Computer] OS-9 Question, 
GCC stuff
To:             	CoCoList for Color Computer Enthusiasts 
<coco at maltedmedia.com>
Send reply to:  	CoCoList for Color Computer Enthusiasts 
<coco at maltedmedia.com>
	<mailto:coco-
request at maltedmedia.com?subject=unsubscribe>
	<mailto:coco-
request at maltedmedia.com?subject=subscribe>

>     In OS9 Level II/NitrOS9's case, once an IRQ (or SWI, for that
>     matter) 
> occurs, and it jumps to the vector in $FFFx, the vector RAM routines
> swap  to DAT MMU set 0, grabs the last system process stack pointer,
> and pulls  the registers (including DP) from the stack to return DP to
> it's original  system state (or the system was hard-coded to 0...
> can't remember off the  top of my head)





More information about the Coco mailing list