*-----------------------------------------------------------
Title[DMesaDummyFloat.mc...September 5, 1983 3:56 PM...Taft];
* Substitute for DMesaFloat.mc -- all operations trap to software
*-----------------------------------------------------------


*-----------------------------------------------------------
FloatingPointPresent:
* Returns T=2 if floating point microcode is present, 0 otherwise.
*-----------------------------------------------------------
Subroutine;

T← A0, Return;


TopLevel;
KnowRBase[RTemp0];


MiscTable[20], Branch[FloatTrap];
MiscTable[21], Branch[FloatTrap];
MiscTable[22], Branch[FloatTrap];
MiscTable[23], Branch[FloatTrap];
MiscTable[24], Branch[FloatTrap];
MiscTable[25], Branch[FloatTrap];
MiscTable[26], Branch[FloatTrap];
MiscTable[27], Branch[FloatTrap];
MiscTable[30], Branch[FloatTrap];
MiscTable[31], Branch[FloatTrap];
MiscTable[32], Branch[FloatTrap];
MiscTable[33], Branch[FloatTrap];
MiscTable[34], Branch[FloatTrap];
MiscTable[35], Branch[FloatTrap];
MiscTable[36], Branch[FloatTrap];




*-----------------------------------------------------------
FloatTrap:
* Trap to the software floating-point handler.
* Alto mode:
*
Enter:StkP = TOS+1
*
OTPReg = 4*alpha (left over from MISC dispatch)
*
Puts the alpha byte in OTPReg and traps to SD[137].
* PrincOps mode:
*
Invokes the Cedar OpcodeTrap mechanism.
*-----------------------------------------------------------
TopLevel;

:If[AltoMode];
********** Alto version **********
MiscTable[37], OTPReg← LDF[OTPReg, 10, 2];
T← 137C, StkP-1, Branch[SavePCAndTrap];
:Else;
******** PrincOps version ********
MiscOpcodeUnimplemented[37];
:EndIf;
**********************************