%
Page Numbers: Yes First Page: 1
Heading:
kernel.mcFebruary 1, 1980 9:20 PM%
TITLE[KERNEL];
IM[ILC,0];
TOP LEVEL;
* February 1, 1980 9:20 PM
restartDiagnostic:
BEGIN:
goto[im0];
afterKernel1:
goto[beginKernel2];
afterKernel2:
goto[beginKernel3];
afterKernel3:
goto[beginKernel4];
afterKernel4:
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;