{File name FloatInit.mc
Description: DandeLion InterLisp Initialization
Author: Charnley
Last modified: Charnley 5-Jun-84 14:12:42
Created: 31-May-84 11:52:00
}
{ ask the floating point chip to FLOAT 2 and check the result }
{RegDef[ufloat, U, 042],}
LispFloatInit:
stackP ← 2, c1;
TT ← 2, c2;
STK ← TT, c3;
ufloat ← 0, c1;
FloatMode.RN.AI.FAST, FloatFLOW, c2;
FloatA ← ufloat, FLFloatA, c3;
FloatA ← STK, c1;
FloatStartFlow, c2;
Rx ← 4, c3;
Rx ← Rx LRot12, c1;{4000 = High Half Floating Point 2.0}
Noop, c2;
FloatUMS, c3;
FloatULS, c1;
TT ← FloatResult, c2;
Xbus ← FloatResult, c3;
Ybus ← TT xor Rx, ZeroBr, c1;
BRANCH[NoChips, ChipsPresent], c2;
NoChips:
uCHIP ← PV xor ~PV, GOTO[LispFloatInitDone], c3;
ChipsPresent:
uCHIP ← 0, GOTO[LispFloatInitDone], c3;
{ E N D }