[LMH] e1 tag diag

Brad Parker brad@heeltoe.com
Fri, 21 Oct 2005 07:14:16 -0400


Hi -

Both meroko and nevermore pass the E1 tag diag (#7) but both report a
bad condition code for condition 17.  I thought it was an ALU bug
in meroko but I noticed nevermore does that same thing.

I looked at the microcode and I am wondering if it's a bug int he microcode
which no one noticed.

Below is a little history trace when the problem occurs. The code at
10131 and 10132 make sense.  It sets the tag memory address in the 
read at 10132.

The code at 10134 & 10135 does not make sense.  It does the imod-low setting
with (L=5 C=10) but then it does an alu instruction.  This doesn't seem
right at all. The (L=5 C=10) field is for a jump.

I suspect that the diag passed on the real hardware and no one ever noticed
this bug.

[this is more for Daniel & Alastair and anyone else who's hacking on meroko
and nevermore]

-brad

CONDITION-17-USED
last imod hi 318 lo 3c00
[10135] (M-31) SETA <A-64,M-0> OBus-Normal IF 17 
----
 9: 002000000000000016040 [9579] JUMP 0 <A-0,M-0> IF ALWAYS 
10: 002003545422554006040 [9587] JUMP 9580 <A-600,M-29> IF NOT-EQ 

11: 100043500140072616310 [9580] (M-29) ADD <A-3,M-29> OBus-Normal IF ALWAYS 
12: 000000056640002616050 [9581] (M-1) SETA <A-749,M-0> OBus-Normal IF ALWAYS 
13: 102040000022566016000 [9582] Jump-XCT-Next 9590 <A-0,M-0> IF ALWAYS 
14: 100040104146000616310 [9583] (M-0 MF-MD) ADD <A-67,M-1> OBus-Normal IF ALWAYS 

15: 000000045600002616050 [9590] (M-1) SETA <A-604,M-0> OBus-Normal IF ALWAYS 
 0: 001000100101401416722 [9591] (M-0 MF-IMod-Low) Deposit-Byte (L=14 C=18) <A-2,M-1> IF ALWAYS 
 1: 002000000000000016040 [9592] JUMP 0 <A-0,M-0> IF ALWAYS 
 2: 001003500100012416274 [10129] (M-5) Load-Byte (L=5 C=28) <A-2,M-29> IF ALWAYS 
 3: 101040500100013416271 [10130] (M-5) Deposit-Byte (L=5 C=25) <A-2,M-5> IF ALWAYS 
 4: 001003500101401416252 [10131] (M-0 MF-IMod-Low) Deposit-Byte (L=5 C=10) <A-2,M-29> IF ALWAYS 
 5: 102040500022571040000 [10132] Jump-XCT-Next 9593 <A-0,M-5> TM-Rd-0 (Bit 0 ) 
 6: 000000004000076616050 [10133] (M-31) SETA <A-64,M-0> OBus-Normal IF ALWAYS 
 7: 001003500101401416252 [10134] (M-0 MF-IMod-Low) Deposit-Byte (L=5 C=10) <A-2,M-29> IF ALWAYS 
 8: 000000004000076616050 [10135] (M-31) SETA <A-64,M-0> OBus-Normal IF ALWAYS 

          37777777777
                36000
                36xxx
000000004000076616050 [10135] (M-31) SETA <A-64,M-0> OBus-Normal IF ALWAYS