%
Page Numbers: Yes First Page: 1
Heading:
kernel.mcOctober 9, 1986 3:32 PM%
TITLE[KERNEL];
IM[ILC,0];
TOP LEVEL;
* October 9, 1986 3:32 PM
restartDiagnostic:
BEGIN:
goto[im0];
afterKernel1:
goto[beginKernel2];
afterKernel2:
goto[beginKernel3];
afterKernel3:
goto[beginKernel4];
afterKernel4:
goto[beginKernel5];
afterKernel5:


T←R0;* R0 SHOULD HAVE ZERO IN IT
BRANCH[.+2,ALU=0];
ERROR;

T←(R1)-1;* R1 SHOULD HAVE ONE IN IT.
BRANCH[.+2,ALU=0];
ERROR;

T←R1;
T←T+(RM1);* RM1 SHOULD HAVE -1 IN IT;
BRANCH[.+2,ALU=0];
ERROR;

T←100000C;
T←T#(RHIGH1);* RHIGH1 SHOULD HAVE 100000B
BRANCH[.+2, ALU=0];
ERROR;

T←R10;* R10 SHOULD HAVE 125252B
BRANCH[.+2, ALU<0];
ERROR;

T←R01;
DBLBRANCH[.+1, .+2, ALU<0];
ERROR;* R01 SHOULD HAVE 52525B IN IT

T←NOT(R01);
T←T#(R10);* R01 SHOULD EQUAL NOT(R10);
BRANCH[.+2,ALU=0];
ERROR;* NOTE THIS IS NOT A COMPLETELY ACCURATE
* TEST FOR CONTENTS OF R10, R01!
goto[done];
* 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];

END;