%
Page Numbers: Yes First Page: 1
Heading:
IfuComplex.mcJune 18, 1981 9:49 AM%
TITLE[IfuComplex];
IM[ILC,0];
TOP LEVEL;
* November 6, 1978 3:39 PM
%
ifu.cmassemble and place entire ifu diagnostic
ifuSave.cmassemble ifuSaveDefs, ifuDefs, ifuPostamble
ifuOnly.cmassemble ifu.mc
ifu1.cmassemble ifu1.mc
ifuPlace.cmplace ifu diagnostic

ifuSaveDefs.cmassemble IfuSaveDefs (d1Lang, kernelAlu, preamble)
ifuDefs.cmassemble IfuDefs
ifuPostamble.cmassemble Ifu’s version of Postamble
ifuToLogin.cmdump all ifu sources onto [ivy]<disk login name>dorado>IfuSources.dm,
dump ifu.midas, ifu.mb onto [ivy]<disk login name>dorado>ifu.dm
ifuToIvy.cmdumps sources and .mb, as above except it goes to official dorado directories

ifuFiles.cmlist of all the source files associated with ifu
%
%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
June 18, 1981 9:49 AM
Change this file to IfuComplex
May 20, 1981 3:25 PM
Accommodate split of ifu3.mc into ifu3a, ifu3b, ifu3c
February 1, 1980 6:26 PM
Change preBegin into restartDiagnostic -- postamble had already defined that label.
February 1, 1980 11:53 AM
Add preBegin code to zero memoryOK.
October 14, 1979 3:33 PM
Remove beginIfu4 -- now a separate diagnostic.
September 27, 1979 10:00 AM
Add call to beginIfu4.
September 19, 1979 11:16 PM
Add beginIfuTests label.
September 17, 1979 5:16 PM
call beginIfu1,3 rather than goto them.
%*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

restartDiagnostic:
memoryOK←a0;
BEGIN:
t ← (r0)+1;* init the stkp to one
stkp ← t;
RBASE ← rbase[defaultRegion];
MEMBX←0s;
rscr ← A0;
call[setBR], rscr2 ← A0;
call[resetIfu];* remove this 3 line hack asap

beginIfuTests:
call[beginIfu3a];
call[beginIfu3b];
call[beginIfu3c];
r1 ← (r0)+1;
goto[done];

* CODE for midas debugging
top level;

top level;
l1: branch[l1];
l2:call[justReturn];
branch[l2];
l3:call[justReturn];
call[justReturn];
branch[l3];
l4:call[justReturn];
call[justReturn];
call[justReturn];
branch[l4];
l5:call[justReturn];
call[justReturn];
call[justReturn];
call[justReturn];
branch[l5];
l6:call[justReturn];
call[justReturn];
call[justReturn];
call[justReturn];
call[justReturn];
branch[l6];
l7:call[justReturn];
call[justReturn];
call[justReturn];
call[justReturn];
call[justReturn];
call[justReturn];
branch[l7];

END;