%
Page Numbers: Yes First Page: 1
Heading:
memMisc.mc (Miscellaneous)March 17, 1982 10:09 AM%
title[MemMisc];
top level;
* May 29, 1981 10:44 AM
%
ABOUT SOURCE FILE MAINTENANCE
The sources live on <doradoSource>memMiscSource.dm and <doradoSource>diagnosticSubrs.dm. By loading those files the user acquires all the files necessary to assemble a new version of memAll:
memMisc.cm// assemble and place memAll.mc
memMisc.mc
// control file

see "insert" commands below for the subroutine files used by this program

memMisc.midas
// set up midas context
memMisctoIfs.cm
// make new: [ivy]<doradoSource>memASource.dm,<ddorado>memAll.dm
memA.files
// list of memAll files put in memASource.dm
preamble.mc
// preamble code that that preceeds memAll
postamble.mc
// postamble code that that follows memAll
kernelalu.mc
// defines alu ops for this diagnostic
memAtoMaxc.cm
// temprorary expedient only for use when IFS down
To make a new version of memA:
ftp maxc load <d1source>memASource.dm, load <d1source>diagnosticSubrs.dm
<make your changes in memA.mc>
@memMisc.cm// assemble and place the microcode
@memAToIVY.cm// move the sources, .mb file to maxc

March 17, 1982 10:09 AM
Add call to begin MemMemA.
February 18, 1982 10:29 AM
Add calls to iSboard, zeroMemory: this diagnostic may run on machine just powered up! Add second call on zeroMemory to flush cache
June 23, 1981 9:20 AM
Call aProcShifter
June 17, 1981 8:55 AM
Add call to aMapTest
May 29, 1981 10:44 AM
Add restartDiagnostic label.
%
afterSubrs:
restartDiagnostic:
t← 1c;
StkP← t;
begin:
call[iSboard];
call[zeroMemory];
call[zeroMemory];
call[initMemTest];
call[beginMemMemA];
call[aProcShifter];
call[aMapTest];
call[initMemTest];
call[disableConditionalTask];
goto[fioTest];
afterFiotest:
call[initMemTest];
call[iMemState];* fioTest may clobber sTestFlags register
call[aPipeTestCtrl];

afterTest:
call[initMemTest];
branch[done];
initMemTest: subroutine;
RBASE ← rbase[defaultRegion];
rscr ←link;
top level;
t ← r0 ← t-t;
rm1 ← cm1;
r1 ← t + 1;
rhigh1 ← 100000C;
r01 ← not(r10);
t ← (r0)+1;
stkp ← t;
ProcSRN←r0;
returnUsing[rscr];

* November 29, 1977 10:31 AM
* CODE for midas debugging
top level;
set[dbgTbls,100];
l1: branch[l1],at[dbgTbls,0];
l2:noop,at[dbgTbls,1];
branch[l2],at[dbgTbls,2];
l3:noop,at[dbgTbls,3];
noop,at[dbgTbls,4];
branch[l3],at[dbgTbls,5];
l4:noop,at[dbgTbls,6];
noop,at[dbgTbls,7];
noop,at[dbgTbls,10];
branch[l4],at[dbgTbls,11];
l5:noop,at[dbgTbls,12];
noop,at[dbgTbls,13];
noop,at[dbgTbls,14];
noop,at[dbgTbls,15];
branch[l5],at[dbgTbls,16];
l6:noop,at[dbgTbls,17];
noop,at[dbgTbls,20];
noop,at[dbgTbls,21];
noop,at[dbgTbls,22];
noop,at[dbgTbls,23];
branch[l6],at[dbgTbls,24];

branch[begin];

END;