Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!husc6!bbn!uwmcsd1!marque!uunet!mcvax!nikhefh!t68
From: t68@nikhefh.hep.nl (Jos Vermaseren)
Newsgroups: comp.sys.atari.st
Subject: Re: Register saving for BIOS traps?
Message-ID: <540@nikhefh.hep.nl>
Date: 26 Sep 88 11:05:19 GMT
References: <19880922163903.5.JRD@MOA.SCRC.Symbolics.COM> <469@forty2.UUCP>
Reply-To: t68@nikhefh.hep.nl (Jos Vermaseren)
Organization: Nikhef-H, Amsterdam (the Netherlands).
Lines: 13


The BIOS and XBIOS use internally the registers d0-d2 and a0-a2
Gemdos uses d0 and a0 except for the call Super (gemdos $20) which
uses also d1 and a1. The last one is in hardly any book.

The reason of the BIOS and XBIOS register use lies (I believe) in the fact
that the DRI compiler considers d0-d2/a0-a2 as local registers.
It causes some problems with Turbo-C, because it has to save a2 specifically.
(Turbo-C can have 5 a register variables!)
The reason for d1 and a1 beying demolished in a Super call is found in
sloppy writing of the Gemdos traphandler.

Jos Vermaseren